14.1 elif 사용하기

elifelse인 상태에서 조건식을 지정할 때 사용하며 else if라는 뜻입니다. 물론 if, else와 마찬가지로 조건식 뒤에 :(콜론)을 붙여야 하고, elif 단독으로 사용할 수 없습니다.

if 조건식:
     코드1# ← 들여쓰기 4칸
elif 조건식:
     코드2
#↑ 들여쓰기 4칸

먼저 IDLE의 파이썬 셸에서 if, elif를 사용해보겠습니다.

변수 x에 20을 할당합니다. 그리고 if x == 10:을 입력한 뒤 엔터를 누르면 자동으로 들여쓰기가 됩니다. 그다음에 print('10입니다.')를 입력하고 엔터를 누르면 빈 줄이 나옵니다. 이 줄에서 백 스페이스를 눌러 들여쓰기를 지운 뒤에 elif x == 20:를 입력하세요. 그다음에 print('20입니다.')를 입력하고 엔터 키를 누르면 빈 줄이 나옵니다. 마지막으로 이 상태에서 엔터를 다시 누르면 if, elif 작성이 끝나고 결과가 출력됩니다.

그림 14-2 IDLE의 파이썬 셸에서 if,else 작성
그림 15 2 IDLE의 파이썬 셸에서 if, elif 작성

콘솔(터미널, 명령 프롬프트)에서 if, elif를 작성할 때는 자동으로 들여쓰기가 되지 않습니다. 다음과 같이 if x == 10: 다음 줄에서는 들여쓰기를 한 뒤 print('10입니다.')를 입력합니다. 마찬가지로 elif x == 20: 다음 줄에서는 들여쓰기를 한 뒤 print('20입니다.')를 입력합니다. 그다음 빈 줄에서 엔터 키를 누르면 if, elif 작성이 끝나고 결과가 출력됩니다.

>>> x = 20
>>> if x == 10:
...      print('10입니다.') # ← 들여쓰기 4칸
... elif x == 20:
...      print('20입니다.') # ← 들여쓰기 4칸
... # ← 빈 줄에서 엔터 키를 누름
20입니다.

이렇게 하면 처음 if에서 x가 10인지 검사한 뒤 참이면 '10입니다.'를 출력하고, 거짓이면 그 다음에 오는 elif에서 x가 20인지 검사합니다. 만약 elif의 조건식이 참이면 '20입니다.'를 출력하고, 거짓이면 아무것도 출력하지 않습니다.

여기서는 x가 20이라 elif의 조건식에 만족하므로 '20입니다'가 출력됩니다.