본문 바로가기
코딩 이야기/파이썬(Python)

단도직입 파이썬(Python) – 조건문 (if ~ else)

by 아재코더 2021. 12. 15.
파이썬 - 조건문

특정한 조건의 부합 여부에 따라 명령어 수행을 결정하게 되는 조건문에 대해 알아봅니다. 문법이나 적용 방법이 매우 단순함에도 불구하고 조건문을 어떻게 사용하느냐에 따라 간결한 로직(Logic)으로 또는 쉽게 풀어갈 수 있는 로직을 아주 어렵게 표현하게 될 수도 있습니다.

여러 조건들이 있겠지만… 예를 들어 60점 이상이면 합격! 60점 미만이면 불합격!이라고 할 때, 기본 구조는 아래와 같습니다.

score = 60

if score >= 60 :

print(‘합격’)

else:

print(‘불합격’)

score가 60점 이상의 조건이 참(True)이기 때문에 결과는 합격으로 출력됩니다. 여기서 몇 가지 주의해야 할 파이썬만의 특징은, 조건문에는 항상 콜론( : )으로 마무리해야 하고 if 문 아래는 꼭 들여 쓰기를 해야 합니다.

들여 쓰기는 Space를 할지, tab으로 할지는 개인의 선택이지만, 같은 들여쓰기 간격을 유지해야 에러가 발생하지 않는 점 유의하세요!

조건문에서 사용되는 비교연산자는 아래와 같습니다.

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

또 다른 연산자로는 and, or, not 이 있습니다.

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

다음 예를 통해 and 연산자 사용법을 알아봅니다.

score = 4

confi = True

if score >= 3 and confi:

print (‘Go!!!’)

else:

print (‘Stop!’)

score가 3 이상이며, confi가 참이면 ‘Go!!!’, 둘 중 어느 하나도 거짓이면 ‘Stop!’을 출력합니다. 못 먹으도 고!

x in s, x not in s는 Python에서만(?) 사용되는 조건문입니다.

in
not in
x in 리스트
x not in 리스트
x in 튜플
x not in 튜플
x in 문자열
x not in 문자열

 

1이 리스트에 있는가?

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

True

 

1이 리스트에 없는가?

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

False

다른 언어에서는 반복문과 조건문을 함께 사용해야 하지만 역시나 쉽고 간결합니다.

“주머니에 카드가 없다면 걸어가고, 있다면 버스를 타고 가라”를 조건문으로 표현하고 실행해 봅니다.

조건문에서 아무런 명령어 수행을 하지 않으려면 패스“pass”를 사용합니다.

pocket = [‘card’, ‘money’]

if ‘money’ in pocket:

pass

else:

print(‘카드를 꺼내라’)

 

if ~ else 만으로 표현하기 힘든 다양한 조건을 필요로 할 때는 elif를 사용합니다.

house = [‘술’, ‘밥’]

wife = True

if ‘안주’ in house:

print(‘조금만 마셔라!’)

elif wife:

print(‘와이프한테 안주 만들어 달라 해라’)

else:

print(‘안주를 직접 만들어 먹어라’)

 

wife가 True(참)이고 안주가 house 리스트에 없다(거짓)면 ‘와이프한테 안주 만들어 달라 해라’가 출력됩니다. 모두 거짓이면 직접 만들어 먹어야겠죠?! elif는 개수에 제한 없이 사용할 수 있으며, elif 이전 조건문이 거짓일 때 수행됩니다.

 

if ~ else를 한 줄로 표현할 수도 있습니다.

wife = False

if wife:pass

else:print(‘놀다 가라’)

wife가 거짓(False)이기 때문에 '놀다 가라'가 출력됩니다.

 

조건부 표현식을 사용할 수도 있습니다.

(조건이 참인 경우) if 조건문 else (조건이 거짓인 경우)

score =59

msg = “합격” if score >= 60 else “불합격”

print (msg)

다양한 조건들을 적용해서 코딩해 보시면서 손에 익히고 눈에 익히시길 바랍니다.

댓글