프로그램을 만들다 보면 두 가지 이상의 다양한 상황이 발생한다.
elif는 조건식을 여러 개 지정하여 각 조건마다 다른 코드를 실행할 수 있다.
elif
는 else인 상태에서 조건식을 지정할 때 사용하며 else if
라는 뜻이다. if, else와 마찬가지로 조건식 끝에 :
(콜론)을 붙여야 하고, if문 없이 elif만 단독으로 사용할 수 없다.
x = 20
if x == 10:
print('10입니다.')
elif x == 20:
print('20입니다.')
👉 20입니다.
x가 10도 아니고 20도 아니라면 나머지는 어떻게 처리할까? 이 때는 if, e
elif와 else는 단독으로 사용할 수 없다.
if, else
형태로 사용하거나, if, elif, else
형태로 사용해야 한다.
x = 30
if x == 10:
print('10입니다.')
elif x == 20:
print('20입니다.')
else:
print('10도 20도 아닙니다.')
👉 10도 20도 아닙니다.
else
는 elif
앞에 올 수 없다. else
는 항상 마지막에 온다.
button = int(input())
if button == 1:
print('콜라')
elif button == 2:
print('사이다')
elif button == 3:
print('환타')
else:
print('제공하지 않는 메뉴')
👉
입력: 7
출력: 제공하지 않는 메뉴
다음 소스 코드를 완성하여 변수 x가 11과 20 사이면 '11~20', 21과 30 사이면 '21~30', 아무것도 해당하지 않으면 '아무것도 해당하지 않음'이 출력되게 만드세요.
x = int(input())
x = int(input())
if 11 <= x <= 20:
print('11~20')
elif 21 <= x <= 30:
print('21~30')
else:
print('아무것도 해당하지 않음')
👉
입력: 5
출력: 아무것도 해당하지 않음
다음과 같이 if 조건문만 사용하면 모든 if 조건문의 조건식을 검사한 뒤 코드를 실행한다.
a, b, c = 10, 20, 30
if a == 10:
print('10')
if b == 20:
print('20')
if c == 30:
print('30')
👉
10
20
30
세 if 조건문의 조건식이 모두 만족하므로 10, 20, 30이 출력된다.
만약 두 번째, 세 번째 if가 elif라면 실행 결과가 달라진다.
a, b, c = 10, 20, 30
if a == 10:
print('10')
elif b == 20:
print('20')
elif c == 30:
print('30')
👉
10
if 조건문 뒤에 elif가 있을 때는 첫 번째 if문의 조건식이 만족하면 뒤에 오는 elif의 조건식은 검사하지 않고 그냥 건너뛴다. 위 예제에서는 실제로 세 조건식이 모두 만족하지만 처음에 오는 if문의 코드만 실행하고, 나머지 조건식은 검사하지 않고 건너뛰었으므로 10만 출력된다.