프롬프트
프롬프트 영역으로 마우스를 옮기고 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도 초과일 때 “온도가 매우 높습니다.” 출력.
이렇게 작성하면 중첩 조건을 줄이고, 한눈에 논리 흐름을 파악하기 쉬워집니다.