Skip to main content
 首页 » 编程设计

Python while 循环添加错误

2025年05月04日13lexus

好吧,几天前我才刚开始上课,一切对我来说都是新的。 我想做的是创造一些可以将摄氏温度转换为华氏温度和开尔文温度的东西,我已经做到了,尽管它有点草率。

无论如何,我的问题是累加器。 当我将所有摄氏度的总和加起来时,我得到 231,而它应该是 210。 它添加了我从“While celsius < 21.

谁能帮我弄清楚如何获得正确的号码:/? 谢谢!

print ("Celsius Conversion Chart") 
 
 
sum = 0 
sum1 = 0 
sum2 = 0 
celsius = 0 
 
while celsius < 21: 
    print (str(celsius)+'°C ' + ' = ' + str(celsius*9/5+32)+'°F ' + ' = ' + str(celsius +273.15)+'°K') 
    celsius += 1 
    sum = sum + celsius 
    sum1 = sum1 + (celsius * 9/5 + 32) 
    sum2= sum2 + (celsius + 273.15) 
 
print (str(sum1)+'°F') 
print (str(sum2)+'°K') 
print (str(sum)+'°C') 
 
if celsius < 100: 
    print ("WARNING: temperature is too high") 

请您参考如下方法:

问题是while的入口条件循环是 celsius < 21 .所以当celsius是 20,while将进入循环,celsius将增加到 21,您的 sum值将被更改,现在循环已完成,因为 celsius < 21是False .一种解决方案是简单地检查 celsius < 20 .

正在发生的事情的演示:

# python interpreter 
>>> x = 0 
>>> while x < 3: 
...    x += 1 
...    print(x) 
...  
1 
2 
3