최소,최대값 값출력이 이상합니다..
376
작성한 질문수 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
위의 코드를 실행하면 정상적으로 동작할 것입니다. 해당 부분을 참고해 주세요. 이후에도 더 궁금한 점이 있다면 언제든지 물어보세요!
26년 1회실기
0
13
1
26,27강 진행 간 노션, html 프롬프트 파일 불일치
0
18
3
강의 자료
0
18
1
27:15 break 출력
0
17
1
kaggle notebook에 service key 설정이 누락된 것 같습니다
1
22
2
수업 노트가 안 보입니다.
0
22
1
Python formatter 설치
0
23
1
55강 파이썬에만있는 연산자들
0
34
2
import pymysql 오류 질문입니다.
0
306
0
강의에 나온 소스예제들 받을 수 있나요?
0
291
0
오버라이딩
0
297
0
shell창이 안 떠요
0
319
0
저장할때
0
184
0
예외처리에서 super사용 질문
0
184
0
패키지화
0
269
1
PPT 자료 올려주시면 안될까요?
8
259
0
주석
0
178
0
예제는 어디있나요?
4
293
0
구구단 표현 문의~
0
183
0
2-2 파이썬 특징
0
213
0
튜플 결합 후 데이터 슬라이싱
0
359
2
노트패드 설치
0
197
0
노트패드 설치
0
199
0
노트패드 설치
0
308
0





