python上的简单摄氏到华氏程序由于编码错误而无法工作。程序应该通过循环运行

python上的简单摄氏到华氏程序由于编码错误而无法工作。程序应该通过循环运行,python,Python,我得到这个错误: a=int(input("Enter any number: ")) b=float(a*9//5)+32 print(b) for x in range(5,50,b): print (x) 输入任意数字:43 109 回溯(最近一次呼叫最后一次): 文件“main.py”,第4行,在 对于范围(5,50,b)内的x: TypeError:“float”对象不能解释为整数 范围的步骤参数应为整数() 既然你在进行分区( 9/5版/代码>),你保证 b 将是一个整数,

我得到这个错误:

a=int(input("Enter any number: "))
b=float(a*9//5)+32
print(b)
for x in range(5,50,b):
    print (x)
输入任意数字:43
109
回溯(最近一次呼叫最后一次):
文件“main.py”,第4行,在
对于范围(5,50,b)内的x:
TypeError:“float”对象不能解释为整数

范围的
步骤
参数应为整数()

既然你在进行分区(<代码> 9/5版/代码>),你保证<代码> b <代码>将是一个整数,所以你可以考虑改写定义<代码> b>代码>的行:

Enter any number: 43                                                                                                                                                               
109.0                                                                                                                                                                              
Traceback (most recent call last):                                                                                                                                                 
  File "main.py", line 4, in <module>                                                                                                                                              
    for x in range(5,50,b):                                                                                                                                                        
TypeError: 'float' object cannot be interpreted as an integer 
然后剩下的代码将按原样工作

样本输出:

>>> a = 2
>>> b = (a * 9 // 5) + 32
>>> b
35
a = int(input("Enter any number: "))
b = a * 9 / 5 + 32  # one slash instead of two
print(b)

x = 5
while x < 50:
    print(x)
    x += b
我猜您打算乘以1.8,所以您需要将
b
保持为浮点数,并进行正常除法。在这种情况下,您可以尝试
while
循环:

Enter any number: 4
39
5
44
注意:此代码适用于Python3,其中
9/5=1.8
。对于Python 2,整数除法默认为楼层除法-
9/5=1
,因此需要编写:

Enter any number: 1
33.8
5
38.8

相反。

您希望得到什么输出?
对于范围(5,50,int(b))中的x:
python范围中的间隔参数不能是浮点。要做到这一点,您需要numpy或其他循环<编码>x=5;当x<50时:打印(x);x+=b
b = a * (9.0 / 5) + 32