我正在编写将Freiheit更改为摄氏度的代码。即使我的代码将所有内容都设为整数,我也不明白为什么会收到此错误TypeError: unsupported operand type(s) for -: 'str' and 'int'
。谁能帮我?先感谢您。代码在python中。
def FreiheitToCelsius():
freiheit = input("Enter the number of Freiheit: ")
freiheit = int(freiheit)
firstResult = freiheit-32
finalResult = firstResult*0.55555555555
print(finalResult)
答案 0 :(得分:0)
在输入中,freiheit是一个字符串。
在第二行中,您似乎打了错字并最终用int减去了一个字符串。
def FreiheitToCelsius():
freiheit = input("Enter the number of Freiheit: ")
freiheit = int(freiheit)
firstResult = freiheit-32
finalResult = firstResult*0.55555555555
print(finalResult)
FreiheitToCelsius()
输入40给我4.4444444444。
答案 1 :(得分:0)
您使用的raw_input通常由于许多原因并不理想。
您需要定义所需的输入内容,否则它将被视为字符串:
因此,您应该使用input("")
而不是int(input(""))
:
freiheit = int(input("Enter the number of Freiheit: "))
这是一个更简单的示例:
x = input("Using raw input: ")
print(x, type(x))
然后将输出:
Using raw input: 52
52 <class 'str'>
要在默认情况下将52设为int,我们需要对其进行定义:
y = int(input("Using int input: "))
print(y, type(y))
现在提供:
Using int input: 52
52 <class 'int'>