세리프 따라잡기

파이썬 프로그램의 구조 쌓기: 제어문(1) 본문

Python

파이썬 프로그램의 구조 쌓기: 제어문(1)

맑은 고딕 2021. 5. 15. 16:48

제어문에는 크게 조건문과 반복문이 있다.

조건문: '만약 ~하면 ~해라'

반복문: (엄청 많은 일을 반복해야 할 때)

 

▶조건문

if문

money = True
if money: #if 조건문:
    print('ride taxi') #수행할 문장1 …
else:
    print('walk')

기본 구조/개념

 

- 들여쓰기

앞서 언급했지만, 파이썬에서는 들여쓰기를 문법처럼 중요하게 여기기 때문에 확실하게 지켜줘야 한다.

money = True
if money:
    print('ride taxi')
print('tada') #SyntaxError: invalid syntax
else:
    print('walk')

들여쓰기를 잘못하면 위와 같이 오류 메시지가 발생되며 수행이 안된다.

+ 그리고 반드시 콜론(:)을 이용한다는 것을 잊지 말자! 다른 언어는 {}로 감싸지만, 파이썬은 들여쓰기로 감싼다는 것도!

 

- 비교 연산자

if 뒤에는 어떤 조건식이 나오는데 위의 코드를 참고해 말하자면 if money를 뜻하는데, 이 식은 불 자료형으로 판단하는 것이다. 이 자리에는 비교 연산자(<,>,==,!=,>=,<=)와 같은 여러 연산자들을 통해 불 자료형이 오게끔 한다.

비교 연산자 설명
x<y x가 y보다 작다
x>y x가 y보다 크다
x==y x와 y가 같다
x!=y x와 y가 같지 않다
x>=y x가 y보다 크거나 같다
x<=y x가 y보다 작거나 같다

if문 뒤에 비교 연산자를 쓸 수 있고, 이를 통해 참/거짓을 만드는 것

a=1
b=2
if a==b: #둘은 같은가?
    print('맞아')
else:
    print('틀려!') #틀려!

 

- and, or, not

연산자 설명
x or y x와 y 둘 중에 하나만 참이면 참이다
x and y x와 y 모두 참이어야 참이다
not x x가 거짓이면 참이다

or의 경우

money=2000
card=1
if money>=3000 or card:
    print('taxi') #taxi
else:
    print('walk')

위 예문은 즉 false or true인데, or 연산자는 둘 중 하나만 참이면 참이기 때문에 true값이 되어 taxi가 출력된 것이다.

 

더보기

and(&), or(|), not(~) 연산자 기호를 쓰면 출력값이 다른 이유

stackoverflow에서의 답변

정리 블로그

즉, boolean operands와 bitwise operators의 차이인데 |가 아닌 or로 쓰는게 명확하다.

money=2000
card=1
if money>=3000 | card:
    print('taxi')
else:
    print('walk') #walk

= | 사용시 위 코드(or)와 달리 walk가 출력

and의 경우

money=2000
card=1
if money>=3000 and card:
    print('taxi')
else:
    print('walk') #walk

위 예문은  false and true인데, and는 둘 모두 참이여야만 true가 나오기 때문에 false값인 walk가 출력

 

not의 경우

if not True:
    print('맞다')
else:
    print('틀리다') #틀리다

쉽게 말해, true가 아닌 값 == false를 출력. 조건문의 역이 되어 출력

 

13:00

Comments