프롬프트
프롬프트 영역으로 마우스를 옮기고 Copy 버튼을 누르면 클립보드에 프롬프트의 내용이 복사됩니다.다음 프로그램을 if … elif … else 문으로 바꾸어 줘.
(여기에 [4_10_nested_if.py]를 붙여 넣을 것)
"""
:input('입력 안내 문구'): 입력을 받아서 돌려줍니다.
:int(): 문자열을 숫자로 바꿉니다.
"""
temp = int(input('온도를 입력하세요... '))
if temp < 0:
if temp < -10:
msg = "온도가 매우 낮습니다."
else:
msg = "온도가 낮습니다."
else:
if temp <= 30:
if temp <= 20:
msg = "온도가 적당합니다."
else:
msg = "온도가 높습니다."
else:
msg = "온도가 매우 높습니다."
print(f'{temp}도 이면 {msg}')
AI가 만든 결과
아래 코드는 원래 중첩된 if 문을 if … elif … else 구문으로 단순화한 버전입니다.
(논리 흐름은 같도록 유지했습니다.)
temp = int(input('온도를 입력하세요... '))
# 첫 번째 조건: 온도가 -10도 미만
if temp < -10:
msg = "온도가 매우 낮습니다."
# 두 번째 조건: 온도가 0도 미만 (위에서 -10 미만을 제외하고 남은 범위 중, 0 미만)
elif temp < 0:
msg = "온도가 낮습니다."
# 세 번째 조건: 온도가 20도 이하
elif temp <= 20:
msg = "온도가 적당합니다."
# 네 번째 조건: 온도가 30도 이하
elif temp <= 30:
msg = "온도가 높습니다."
# 그 외: 온도가 30도 초과
else:
msg = "온도가 매우 높습니다."
print(f'{temp}도 이면 {msg}')
코드 해설
- if temp < -10
-10도 미만일 때 “온도가 매우 낮습니다.” 출력.
- elif temp < 0
temp < 0이면서 위 조건에 해당하지 않는(즉,-10 <= temp < 0) 구간일 때 “온도가 낮습니다.” 출력.
- elif temp <= 20
- 0도 이상 20도 이하일 때 “온도가 적당합니다.” 출력.
- elif temp <= 30
- 20도 초과 30도 이하일 때 “온도가 높습니다.” 출력.
- else
- 30도 초과일 때 “온도가 매우 높습니다.” 출력.
이렇게 작성하면 중첩 조건을 줄이고, 한눈에 논리 흐름을 파악하기 쉬워집니다.