Programming/Pyhton

파이썬: 조건문(if, elif, else)

JunsuKim 2022. 7. 26.
728x90

if문의 기본 구조

if 조건문:
    수행할 문장1
    수행할 문자2
    ...
else
    수행할 문장A
    수행할 문장B
    ...

조건문을 테스트하며 참이면 if문에 있는 문장을 수행하고, 거짓이면 else로 넘어가 그 안의 문장들을 수행한다.

if문은 else문 없이 사용이 가능하나, else문은 if문 없이 사용이 불가능하다.

 

조건문 다음에 콜론(:)을 잊어선 안된다.

다른 언어에서는 if(조건문) { }의 구조를 가져 콜론이 필요하지 않다.

하지만 파이썬에서는 괄호를 쓰지 않고 콜론(:)을 쓰는 구조를 가지고 있으니, 빼먹지 않도록 주의해야 한다.

 

들여쓰기도 중요하다.

if check:
    print("a")
print("b")
    print("c")

다음과 같이 들여쓰기가 제대로 되있지 않다면, 

이처럼 빨간 줄을 띄우며 에러를 알려준다.

또한 들여쓰기의 너비가 달라도 위와 같은 에러가 나타난다.

즉, 들여쓰기는 언제나 같은 너비로 해야 한다.

비교 연산자

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

>>> x < y
True

>>> x == y
False

>>> x != y
True

비교 연산자는 보통 if문의 조건에 많이 쓰인다.

>>> money = 2000
>>> if money >= 3000:
...    print("나는 부자야")
... else
...    print("더 열심히 벌어야지")
...
더 열심히 벌어야지

and, or, not

조건을 판단하기 위해 사용하는 다른 연산자로는 and, or, not이 있다.

연산자 설명
x or y x와 y 둘 중에 하나만 참이어도 참이다.
x and y x와 y 모두 참이어야 참이다.
not x x가 거짓이면 참이다.
>>> money = 2000
>>> card = 100000
>>> if money >= 3000 or card >= 3000
...    print("나는 부자야")
... else
...    print("더 열심히 벌어야지")
...
나는 부자야

x in s, x not in s

파이썬은 다른 프로그래밍 언어에서는 쉽게 볼 수 없는 조건문을 제공한다.

in not in
x in 리스트 x not in 리스트
x in 튜플 x not in 튜플
x in 문자열 x not in 문자열
>>> 1 in [1, 2, 3]
True

>>> 1 not in [1, 2, 3]
False

>>> 'a' in ('a', 'b', 'c')
True

>>> 'e' not in 'python'
True

다양한 조건을 판단: elif

위에서는 if, else로만 조건문을 다뤘다.

만약 조건이 3개 이상일 때, if와 else만으로 다 표현할 수 없다.

이 때 사용하는 것이 elif이다.

>>> food = ['pizza', 'chicken']
>>> if 'pizza' in food:
...    print("오늘 저녁은 피자다!")
... elif 'chicken' in food
...    print("오늘 저녁은 치킨이다!")
... else
...    print("오늘도 굶는건가...?")

오늘 저녁은 피자다!

이처럼 elif문은 if문이 거짓일 때 수행된다.

 

728x90

댓글