inflearn logo
강의

Course

Instructor

Python Programming

최소,최대값 값출력이 이상합니다..

368

rrh

1 asked

0

아래 작성한 코드에서 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

python

Answer 1

0

communityai8509

안녕하세요, 인프런 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

위의 코드를 실행하면 정상적으로 동작할 것입니다. 해당 부분을 참고해 주세요. 이후에도 더 궁금한 점이 있다면 언제든지 물어보세요!

로지스틱 회귀 데이터 누락 관련 질문

0

3

1

수강기간 연장 문의드립니다.

0

4

1

27강 슬랙 테스트 부분도 누락된 것 같네요

1

20

2

이 정도로 관리를 안할꺼면 강의를 내려야 하는거 아닐까요?

0

11

0

실기 공부 시작 하려고 하는데요

0

26

2

22강 케글 연동 강의내용 누락된듯해요

1

20

2

작업형1 - 연습문제 1번 관련 질문입니다.

0

29

2

퍼블릭시티 결제 관련

0

18

1

import pymysql 오류 질문입니다.

0

300

0

강의에 나온 소스예제들 받을 수 있나요?

0

287

0

오버라이딩

0

289

0

shell창이 안 떠요

0

315

0

저장할때

0

178

0

예외처리에서 super사용 질문

0

178

0

패키지화

0

264

1

PPT 자료 올려주시면 안될까요?

8

254

0

주석

0

177

0

예제는 어디있나요?

4

290

0

구구단 표현 문의~

0

179

0

2-2 파이썬 특징

0

211

0

튜플 결합 후 데이터 슬라이싱

0

349

2

노트패드 설치

0

193

0

노트패드 설치

0

197

0

노트패드 설치

0

305

0