尝试用另一个int减去一个int,但出现错误

时间:2019-06-02 17:08:33

标签: python

我正在编写将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)    

2 个答案:

答案 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'>