Python while循环添加错误

2024-04-20 08:52:53 发布

您现在位置:Python中文网/ 问答频道 /正文

好吧,我几天前才刚开始上课,一切对我来说都是新的。 我想做的是创造一些东西,将摄氏温度转换成华氏温度和开尔文,我已经做了,虽然它有点马虎。你知道吗

不管怎样,我的问题是蓄电池。 当我把所有摄氏度加起来的时候,我得到231,而它应该是210。 它添加了“While concersies<;21”中的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")

Tags: lt号码sumprintcelsiuswhilestrconversion
3条回答

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

演示正在发生的事情:

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

我还不能发表评论,所以作为一个答案张贴。。。你知道吗

凯文提到移动柜台。在while循环中,循环中的计数器应该总是在使用计数器的所有处理之后。这适用于任何支持while循环的语言,即while循环是如何完成的,而不是特定于python的。你知道吗

所以进入条件不错。基本上,将初始值摄氏度设置为0是第一个计数。所以在循环中,必须进行处理,然后递增计数器。你知道吗

将摄氏度+=1行移到总和更新的下方。那将解决那个特殊的问题。你知道吗

您的警告应该是如果摄氏>;100,而不是摄氏<;100。你知道吗

另外,您可能应该使用sum1、sum2和sum3,因为“sum”是一个保留字。你知道吗

相关问题 更多 >