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

时间:2013-10-06 01:36:28

标签: python if-statement return-value

这是我的代码:

def naame(value, suit):
    if suit == ("D"):
            suit ==  ("Dimnd")
    return  (value + " of " +suit)

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

我在python上还是比较新的。请帮帮我

1 个答案:

答案 0 :(得分:4)

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

要解决您的问题,请将value设为字符串:

return (str(value) + " of " + suit)

通过将value放入str(),它将转换为其字符串表示形式。请参阅以下示例:

>>> a = 1
>>> type(a)
<type 'int'>
>>> a = str(a)
>>> type(a)
<type 'str'>
>>>

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

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

return "{0} of {1}".format(value, suit)

如果您想要了解前两种方法的参考,请查看here

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