此问题在此处已有答案:
Cannot concatenate 'str' and 'float' objects? [duplicate](3个答案)
2天前关闭。
我正在制作一个厘米到英尺的转换器,但是我在添加字符串以跟随用户输入时遇到了麻烦
height = float(input("You are: "))
print (height * 0.0328 )
print (height + "feet tall!")
这是我收到的错误消息:
You are: 5.5760000000000005
Traceback (most recent call last):
File "file0.py", line 3, in <module>
print (height + "feet tall!")
TypeError: unsupported operand type(s) for +: 'float' and 'str'
程序只运行了一半,如果这有意义,我怎么解决?
3条答案
按热度按时间41zrol4v1#
您需要将相同的格式变量连接起来,例如
字符串+字符串=允许
字符串+数字=不允许。
您需要将int类型转换为str。
liwlm1x92#
我们无法将float与string连接起来。在连接之前,需要将height变量转换为string类型。
这应该可以解决您的问题。
xfb7svmp3#
这里有几个问题,但我将解决导致您的错误消息的问题,它是由下面的代码行引起的:
height存储为
float
(数字),而“feet tall!”存储为string
(文本)。您无法将两者连接在一起,因此出现错误。要解决此问题,您需要使用str()
将height转换为字符串,如下所示:现在进入第二个问题。如果我运行这个更新的代码,如果我输入高度175,我得到的输出是:
正如你所看到的,代码在执行转换时并没有更新实际的身高数值。你不应该打印这一行,而是应该将它赋回height,这样它就会更新,如下所示:
现在运行我得到这个输出:
把所有这些放在一起(并在英尺高之前添加一个额外的空间,这样它就更不稳定了),代码变成: