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")

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

파이썬: 조건문(if, elif, else) - undefined - if문의 기본 구조

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

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

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

비교 연산자

비교 연산자 설명
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

댓글