elif 사용하기
- elif란 else if와 같은 뜻으로 기능도 같다.
- else와 마찬가지로 elif 단독으로 사용 불가능하다.
- else가 elif먼저 사용되면 오류가 난다.
예)
if 조건식1:
조건식1을 만족할 때의 코드
elif 조건식2:
조건식1을 만족하지 않고 조건식 2을 만족할 때의 코드
elif 조건식 3:
조건식 1, 2 모두 만족 하지않고 3을 만족할 때의 코드
else:
조건식 1, 2, 3을 모두 만족하지 않을 때의 코드
15.2 퀴즈
- 다음 중 if 조건문에 대한 설명으로 잘못된 것을 모두 고르세요.
- elif는 여러 번 사용할 수 있다.
- else는 elif 앞에 올 수 없다.
- elif는 조건식을 지정할 수 있다.
- elif는 단독으로 사용할 수 있다.
- elif는 항상 else가 있어야 한다.
하나 혹은 하나 이상을 선택하세요.
정답) 4, 5
풀이)
4 - elif는 앞에 if문이 있어야한다.
5 - else문이 없어도 elif를 사용 가능하다.
- 다음 if 조건문을 실행했을 때 출력되는 결과를 고르세요.
x = 0
if x == 4:
print('A')
elif x == 3:
print('B')
elif x == 2:
print('C')
elif x == 1:
print('D')
else:
print('E')
정답) E
풀이) x는 4,3,2,1이 모두 아닌 0이므로 else문의 값을 출력한다.
15.3 연습문제: if, elif, else 모두 사용하기
- 다음 소스 코드를 완성하여 변수 x가 11과 20 사이면 '11~20', 21과 30 사이면 '21~30', 아무것도 해당하지 않으면 '아무것도 해당하지 않음'이 출력되게 만드세요.
x = int(input())
6줄 작성
입력) 5
결과) 아무것도 해당하지 않음
정답)
if 11 <= x <=20:
print('11~20')
elif 21 <= x <= 30:
print('21~30')
else:
print('아무것도 해당하지 않음')
풀이)
문제에서 말한 범위를 if와 elif로 조건식에 각각 지정해주고 그에따른 출력을 다르게 설정한다.
범위에 포함되지 않는 값은 else를 통해 값을 출력하게 만든다.
15.4 심사문제 : 교통카드 시스템 만들기
- 표준 입력으로 나이(만 나이)가 입력됩니다(입력 값은 7 이상 입력됨). 교통카드 시스템에서 시내버스 요금은 다음과 같으며 각 나이에 맞게 요금을 차감한 뒤 잔액이 출력되게 만드세요(if, elif 사용). 현재 교통카드에는 9,000원이 들어있습니다.
- 어린이(초등학생, 만 7세 이상 12세 이하): 650원
- 청소년(중∙고등학생, 만 13세 이상 18세 이하): 1,050원
- 어른(일반, 만 19세 이상): 1,250원
age = int(input())
balance = 9000 # 교통카드 잔액
________________
________________
________________
________________
________________
________________
print(balance)
예 :
입력) 17
결과) 7950
입력) 12
결과) 8350
정답)
if 7 <= age <= 12:
balance -= 650
elif 13 <= age <= 18:
balance -= 1050
else:
balance -= 1250
풀이)
문제에 범위대로 조건식을 만들어 if와 elif문을 완성하고 else에는 성인요금으로 만든다.
balance에 요금을 차감해서 다시 초기화시켜 다시 출력했을 때엔 금액이 차감된 값이 되게 만든다.