elif - 여러 방향으로 분기하기

Jeongyun Heo·2021년 1월 7일
0

Python

목록 보기
20/36
post-thumbnail

elif를 사용하여 여러 방향으로 분기하기

프로그램을 만들다 보면 두 가지 이상의 다양한 상황이 발생한다.
elif는 조건식을 여러 개 지정하여 각 조건마다 다른 코드를 실행할 수 있다.

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도 아닙니다.')
    
👉 1020도 아닙니다.

elseelif 앞에 올 수 없다. else는 항상 마지막에 온다.

button = int(input())

if button == 1:
    print('콜라')
elif button == 2:
    print('사이다')
elif button == 3:
    print('환타')
else:
    print('제공하지 않는 메뉴')

👉
입력: 7
출력: 제공하지 않는 메뉴

연습문제: if, elif, else 모두 사용하기

다음 소스 코드를 완성하여 변수 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 조건문만 사용할 때와 elif를 사용할 때의 차이점은 무엇인가?

다음과 같이 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만 출력된다.

0개의 댓글