TypeError:无法将“ float”对象隐式转换为str或TypeError:-:“ str”和“ float”的不受支持的操作数类型

严酷

我正在为一个生物方程式写一个计算器,其中一部分是温度转换器。

T_option = input("Celsius, fahrenheit, or Kelvin? ").lower()
if T_option == "celsius" or T_option == "c":
    T_C = input("Input temperature: ")
    T = (T_C - 273.15)
    print("Temp set to " + str(T) + "K")

elif T_option == "kelvin" or T_option == "k":
    T = input("Input temperature: ")
    print("Temp set to " + str(T) + "K")

elif T_option == "fahrenheit" or T_option == "f":
    T_F = input("Input temperature: ")
    T = ((T_F + 459.67) * 5/9)
    ("Temp set to  " + str(T) + "K")

如果选择华氏温度并输入数字,则会得到:

TypeError: Can't convert 'float' object to str implicitly

如果选择摄氏度并输入数字,则会得到:

TypeError: unsupported operand type(s) for -: 'str' and 'float'

我不确定我在这里做了什么。

伊斯梅尔(Ismael Infante)

input()函数返回一个str对象。float在数学表达式上使用该字符串之前,必须将其转换为所以,

对于摄氏度:

T = (float(T_C) - 273.15)

华氏度:

T = ((float(T_F) + 459.67) * 5/9)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章