Python 错误不支持 + 的操作数类型:'int' 和 'str'

1 python if-statement return-value

这是我的代码:

def naame(value, suit):
    if suit == ("D"):
            suit ==  ("Dimnd")
    return  (value + " of " +suit)
Run Code Online (Sandbox Code Playgroud)

所以我认为问题出在哪里,当我也添加“+”时......但我仍然不知道如何去做......

我在 python 方面还是很新的。请帮我

小智 5

该错误(正确称为 a TypeError)只能在value是整数时生成。此外,在 Python 中,您不能将整数和字符串与+.

要解决您的问题,请创建value一个字符串:

return (str(value) + " of " + suit)
Run Code Online (Sandbox Code Playgroud)

通过将valuestr(),它被转化为它的字符串表示。请参阅下面的示例:

>>> a = 1
>>> type(a)
<type 'int'>
>>> a = str(a)
>>> type(a)
<type 'str'>
>>>
Run Code Online (Sandbox Code Playgroud)

除了我上面给出的解决方案,还有一些其他方法可以做你想做的事情:

return "%i of %s" % (value, suit)

return "{0} of {1}".format(value, suit)
Run Code Online (Sandbox Code Playgroud)

如果您需要有关后两种方法的参考,请查看此处

不管你选择哪一个,这里的核心概念是你不能组合整数和字符串。所有三种方法value在使用之前都会生成一个字符串。