将原始输入变量除以数字时的Python TypeError

时间:2013-06-16 06:17:38

标签: python typeerror

我想将输入的磅重量转换为千克,我得到以下错误......

  

TypeError:/:'unicode'和'float'

不支持的操作数类型

我的代码:

lbweight = raw_input("Current Weight (lb): ") 

kgweight = lbweight/2.20462

有人请帮忙!

3 个答案:

答案 0 :(得分:1)

那是因为raw_input,输入是 raw ,意思是字符串:

lbweight = float(raw_input("Current Weight (lb): ") )

kgweight = lbweight/2.20462

答案 1 :(得分:1)

raw_input返回一个字符串,您应该使用float()将输入转换为float:

float(raw_input("Current Weight (lb): "))

答案 2 :(得分:1)

注意错误消息TypeError: unsupported operand type(s) for /: 'str' and 'float'

>>> kgweight = lbweight/2.20462

Traceback (most recent call last):
  File "<pyshell#17>", line 1, in <module>
    kgweight = lbweight/2.20462
TypeError: unsupported operand type(s) for /: 'str' and 'float'
>>> 

那么如果2.20462是一个浮点数,那么这里是一个字符串?文档对raw_input的说法是什么?

  

如果存在prompt参数,则将其写入标准输出   没有尾随换行符。然后该函数从输入中读取一行,   将其转换为字符串(剥离尾随换行符),然后返回   那。读取EOF时,会引发EOFError。