好吧,几天前我才刚开始上课,一切对我来说都是新的。 我想做的是创造一些可以将摄氏温度转换为华氏温度和开尔文温度的东西,我已经做到了,尽管它有点草率。
无论如何,我的问题是累加器。 当我将所有摄氏度的总和加起来时,我得到 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
