好吧,我几天前才刚开始上课,一切对我来说都是新的。 我想做的是创造一些东西,将摄氏温度转换成华氏温度和开尔文,我已经做了,虽然它有点马虎。你知道吗
不管怎样,我的问题是蓄电池。 当我把所有摄氏度加起来的时候,我得到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")
问题是
while
循环的入口条件是celsius < 21
。所以当celsius
是20时,将进入while
循环,celsius
将增加到21,您的sum
值将被更改,现在循环完成,因为celsius < 21
是False
。一种解决方案是简单地检查celsius < 20
。你知道吗演示正在发生的事情:
我还不能发表评论,所以作为一个答案张贴。。。你知道吗
凯文提到移动柜台。在while循环中,循环中的计数器应该总是在使用计数器的所有处理之后。这适用于任何支持while循环的语言,即while循环是如何完成的,而不是特定于python的。你知道吗
所以进入条件不错。基本上,将初始值摄氏度设置为0是第一个计数。所以在循环中,必须进行处理,然后递增计数器。你知道吗
将摄氏度+=1行移到总和更新的下方。那将解决那个特殊的问题。你知道吗
您的警告应该是如果摄氏>;100,而不是摄氏<;100。你知道吗
另外,您可能应该使用sum1、sum2和sum3,因为“sum”是一个保留字。你知道吗
相关问题 更多 >
编程相关推荐