3

我想将输入的 lb 重量转换为 kg,但出现以下错误...

TypeError:不支持的操作数类型/:'unicode'和'float'

我的代码:

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

kgweight = lbweight/2.20462

有人请帮忙!

4

3 回答 3

1

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

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

kgweight = lbweight/2.20462
于 2013-06-16T06:18:16.267 回答
1

raw_input返回一个字符串,您应该使用以下方法将输入转换为浮点数float()

float(raw_input("Current Weight (lb): "))
于 2013-06-16T06:18:28.563 回答
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有什么看法?

如果提示参数存在,则将其写入标准输出,不带尾随换行符。然后该函数从输入中读取一行,将其转换为字符串(去除尾随的换行符),然后返回。读取 EOF 时,会引发 EOFError。

于 2013-06-16T06:48:55.953 回答