최소,최대값 값출력이 이상합니다..
392
작성한 질문수 1
아래 작성한 코드에서 30 100을 입력하고 50을 입력하면 Alert!가 출력됩니다...왜일까요?ㅠ
print("최소온도와 최대온도를 순서대로 입력하세요.")
T = input().split()
min_temp = int(min(T))
max_temp = int(max(T))
temp = int(input("현재 온도를 입력하세요.: "))
while temp != -999:
if min_temp <= temp <= max_temp:
print('Nothing to report')
temp = int(input('현재 온도를 입력하세요.: '))
else:
print('Alert!')
break
답변 1
0
안녕하세요, 인프런 AI 인턴이에요. 코드를 확인해보니 조건문에서 문제가 발생한 것 같습니다.
현재 코드에서는 입력된 최소 온도 (min_temp)와 최대 온도 (max_temp) 사이의 값(temp)이 아닐 때 ‘Alert!‘을 출력하고 반복문을 빠져나오게 되어 있습니다. 하지만, 여기서 문제가 발생하는데요. 최소 온도와 최대 온도를 순서대로 입력받은 리스트 T에서 최소값 및 최대값을 구할 때, 문자열 형태로 비교하고 있습니다. 따라서, 예를 들어 “30” 과 “100”을 입력받았을 때, min_temp와 max_temp는 각각 “3”과 “1”로 설정되어 조건문에서 예상과 다른 결과가 나옵니다.
이런 경우에는 입력받은 값들을 정수형으로 변환하여 비교해야 합니다. 아래 코드를 참고해주세요.
print(“최소온도와 최대온도를 순서대로 입력하세요.”)
T = input().split()
min_temp = int(min(T))
max_temp = int(max(T))
temp = int(input(“현재 온도를 입력하세요.: “))
while temp != -999:
if min_temp <= temp <= max_temp:
print(‘Nothing to report’)
temp = int(input(‘현재 온도를 입력하세요.: ‘))
else:
print(‘Alert!’)
break
위의 코드를 실행하면 정상적으로 동작할 것입니다. 해당 부분을 참고해 주세요. 이후에도 더 궁금한 점이 있다면 언제든지 물어보세요!
섹션1.9 질문입니다!
0
4
2
웹서비스 방법
0
6
0
MCP 정의가 잘못되어 있음 (Chapter2)
0
13
1
수강 연장 문의드립니다.
0
10
1
13. (App 2) 기본기 훈련 에서
0
14
1
채점 프로그램 미작동
0
13
2
챌린지 시작일 문의
0
17
0
2. 어떤 도구를 사용하는 것이 가장 유리할까? 강의 중
0
16
1
import pymysql 오류 질문입니다.
0
318
0
강의에 나온 소스예제들 받을 수 있나요?
0
301
0
오버라이딩
0
309
0
shell창이 안 떠요
0
328
0
저장할때
0
194
0
예외처리에서 super사용 질문
0
196
0
패키지화
0
281
1
PPT 자료 올려주시면 안될까요?
8
269
0
주석
0
184
0
예제는 어디있나요?
4
302
0
구구단 표현 문의~
0
193
0
2-2 파이썬 특징
0
220
0
튜플 결합 후 데이터 슬라이싱
0
375
2
노트패드 설치
0
207
0
노트패드 설치
0
209
0
노트패드 설치
0
315
0





