首页 > 解决方案 > 在 while 循环中使用 if 语句

问题描述

我正在尝试使用 if 语句将某个范围内的数字分类为热、冷或宜人的温度,但它不起作用。这是我的代码:

cold = 0
hot = 0
pleasant = 0

temp = int(input("Temperature C (-500 to stop): "))

while temp >= -499:
 temp = int(input("Temperature C (-500 to stop): "))
 if temp > 28:
    hot = hot + 1
 elif 28 > temp > 17:
    pleasant = pleasant + 1
 elif temp < 18:
    cold = cold + 1

print('Cold days:        {}'.format(cold))
print('Pleasant days:    {}'.format(pleasant))
print('Hot days:         {}'.format(hot))

-------- 任何帮助都非常感谢,谢谢

标签: pythonpython-3.x

解决方案


您应该仅在 while 循环结束时再次要求输入,否则您的第二个输入将覆盖第一个输入(while 循环之前的那个)。这是固定代码:

cold = 0
hot = 0
pleasant = 0

temp = int(input("Temperature C (-500 to stop): "))

while temp >= -499:
 if temp > 28:
    hot = hot + 1
    print("hot updated")
 elif 28 > temp > 17:
    pleasant = pleasant + 1
    print("pleasant updated")
 elif temp < 18:
    cold = cold + 1
    print("cold updated")
 temp = int(input("Temperature C (-500 to stop): "))

print('Cold days:        {}'.format(cold))
print('Pleasant days:    {}'.format(pleasant))
print('Hot days:         {}'.format(hot))

推荐阅读