TypeError:不能将序列乘以'float'3.3类型的非int

时间:2013-09-06 23:49:29

标签: python python-3.x

好的我已经将代码编辑到了希望工作的地方但我得到了TypeError:不能将序列乘以'float'类型的非int。

这是我拥有的代码:

uTemp = input("Enter Temperature Variable: ")

cOrF = input("Do you want C for celcius, or F for Farehnheit?: ")

if cOrF:
    F = 1.8 * uTemp + 32

2 个答案:

答案 0 :(得分:7)

错误告诉您不能将uTemp(一个字符串)乘以浮点数(1.8)。这很有道理,对吗?什么是八分之一弦?将uTemp转换为浮点数:

uTemp = float(input("Enter Temperature Variable: "))

您的下一个问题是cOrF被视为布尔值(true / false),这意味着如果用户在该提示下输入任何,则会计算F因为所有非空字符串在Python中都是真实的。所以相反你会写:

if cOrF == "F":
    F = 1.8 * uTemp + 32

答案 1 :(得分:6)

input()在python 3.x中返回一个字符串。

将其转换为float(或int - 取决于您的需求):

uTemp = float(input("Enter Temperature Variable: "))