최소,최대값 값출력이 이상합니다..
372
投稿した質問数 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
위의 코드를 실행하면 정상적으로 동작할 것입니다. 해당 부분을 참고해 주세요. 이후에도 더 궁금한 점이 있다면 언제든지 물어보세요!
11 기출문제 ipynb파일
0
7
2
작업형 3 유형
0
8
2
session이 점점 길어지면 어떻게 대처하나요?
0
11
1
11회 기출 유형(작업형1) 2번 정답
0
14
2
f1 score 질문
0
13
2
10회 작업형 2 인코딩 질의
0
9
2
자동화프롬프트 가져오기 에러
0
9
1
53번 강의에서 갑자기 수업노트가 없어졌습니다.
0
17
2
import pymysql 오류 질문입니다.
0
305
0
강의에 나온 소스예제들 받을 수 있나요?
0
290
0
오버라이딩
0
294
0
shell창이 안 떠요
0
316
0
저장할때
0
183
0
예외처리에서 super사용 질문
0
183
0
패키지화
0
266
1
PPT 자료 올려주시면 안될까요?
8
255
0
주석
0
177
0
예제는 어디있나요?
4
292
0
구구단 표현 문의~
0
181
0
2-2 파이썬 특징
0
212
0
튜플 결합 후 데이터 슬라이싱
0
355
2
노트패드 설치
0
196
0
노트패드 설치
0
197
0
노트패드 설치
0
307
0

