최소,최대값 값출력이 이상합니다..
366
投稿した質問数 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
위의 코드를 실행하면 정상적으로 동작할 것입니다. 해당 부분을 참고해 주세요. 이후에도 더 궁금한 점이 있다면 언제든지 물어보세요!
6-6
0
8
1
작업형 1 유형 부분
0
11
1
수강평 이벤트
0
17
2
작업형 1 (삭제예정, 구 버전)
0
31
2
강의노트는 어디있나요?
0
17
1
노션 학습 자료 권한 요청
0
17
1
수강기간 연장 문의드립니다.
0
21
1
2유형 레이블 인코딩 VS 원핫 인코딩
0
24
3
import pymysql 오류 질문입니다.
0
300
0
강의에 나온 소스예제들 받을 수 있나요?
0
285
0
오버라이딩
0
288
0
shell창이 안 떠요
0
311
0
저장할때
0
176
0
예외처리에서 super사용 질문
0
177
0
패키지화
0
260
1
PPT 자료 올려주시면 안될까요?
8
252
0
주석
0
175
0
예제는 어디있나요?
4
290
0
구구단 표현 문의~
0
175
0
2-2 파이썬 특징
0
211
0
튜플 결합 후 데이터 슬라이싱
0
347
2
노트패드 설치
0
193
0
노트패드 설치
0
195
0
노트패드 설치
0
304
0

