Python循环范围
有人能给我解释一下如何修复这个程序吗 我试图以10摄氏度转换为华氏度的增量制作一个温度表,但是两列没有对齐(32华氏度应该对应0摄氏度,而不是10摄氏度) 我对编程非常陌生,所以当我遇到这个问题时,我不知道该搜索什么Python循环范围,python,python-2.7,Python,Python 2.7,有人能给我解释一下如何修复这个程序吗 我试图以10摄氏度转换为华氏度的增量制作一个温度表,但是两列没有对齐(32华氏度应该对应0摄氏度,而不是10摄氏度) 我对编程非常陌生,所以当我遇到这个问题时,我不知道该搜索什么 def convert(): print "This program shows a celsius to fahrenheit table conversion." celsius=0 for i in range (11): fahre
def convert():
print "This program shows a celsius to fahrenheit table conversion."
celsius=0
for i in range (11):
fahrenheit=celsius*1.8+32
celsius=celsius+10
print fahrenheit, celsius
convert()
This program shows a celsius to fahrenheit table conversion.
32.0 10
50.0 20
68.0 30
86.0 40
104.0 50
122.0 60
140.0 70
158.0 80
176.0 90
194.0 100
212.0 110
实际上我为一个班级写了一个类似这样的计算程序,也许我能帮上忙。如果你不解释,很难说出你到底想解决什么问题,但我看到了一些问题 首先,在这种情况下,计算摄氏度的公式是可以的,但为了安全起见,我建议在乘法周围加上括号,特别是当您开始编写更复杂的公式时,它可以确保python按照您想要的正确顺序执行操作 其次,您应该翻转print语句和cellices语句。您正在告诉python为下一个循环添加10,然后再打印转换为华氏度的摄氏度。此外,为了使其更简单,请使用
摄氏度+=10
而不是摄氏度=摄氏度+10
print fahrenheit, celsius
celsius+=10
除此之外,其余的看起来不错。干得好,继续干下去,很快你就不会相信你能用编程做什么了
如a中所述,您可以为给定的摄氏度
值计算华氏度
,但打印的摄氏度
增加了10
一种解决方案是先打印这两个值,然后在摄氏值上加10
但更好的方法不是“手动”增加摄氏度
,而是从循环变量i
中推导:
for i in range(11):
celsius = i * 10
fahrenheit = celsius * 1.8 + 32
print fahrenheit, celsius
另一种方法是直接使用可选选项生成摄氏度
值:
(您需要选择一个大于110的停止值,以便将110包括在范围内。)您的程序到底出了什么问题?你在寻找什么样的“修复”?期望的输出是什么?考虑复习帮助我们更好地交换<代码>打印…<代码>和<代码> Celsiu+=10 < /Cord>行。在打印该运行的结果之前,您正在将其递增到下一个值。我没有发现任何问题,但是,提示:使用
摄氏度+=10
,与摄氏度=10
相同。我还建议使用Python3(但这是我个人的意见)。谢谢,将print语句和摄氏度+=10互换就行了。我的问题正是你所说的,它在循环中的打印时间比我希望的要晚。谢谢大家的帮助,这个网站很棒!
for i in range(11):
celsius = i * 10
fahrenheit = celsius * 1.8 + 32
print fahrenheit, celsius
for celsius in range(0, 111, 10):
fahrenheit = celsius * 1.8 + 32
print fahrenheit, celsius