Python循环范围

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

有人能给我解释一下如何修复这个程序吗

我试图以10摄氏度转换为华氏度的增量制作一个温度表,但是两列没有对齐(32华氏度应该对应0摄氏度,而不是10摄氏度)

我对编程非常陌生,所以当我遇到这个问题时,我不知道该搜索什么

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