Python _repr _;方法未按预期工作

Python _repr _;方法未按预期工作,python,python-2.7,oop,printing,repr,Python,Python 2.7,Oop,Printing,Repr,\uuuu repr\uuu功能在以下代码中不起作用: class Minibar: def __init__(self, drinks, snacks): self.drinks=drinks self.snacks= snacks self.bill=0 def __repr__(self): return "The minibar contains the drinks: " + list(str(self.

\uuuu repr\uuu
功能在以下代码中不起作用:

class Minibar:
    def __init__(self, drinks, snacks):
        self.drinks=drinks
        self.snacks= snacks
        self.bill=0

    def __repr__(self):
        return "The minibar contains the drinks: " + list(str(self.drinks)) +  "And the snacks: "  + list(str(self.snacks)) +  "The bill for the minibar is:" + self.bill**

m = Minibar({'coke': 10, 'lemonade': 7}, {'bamba': 8, 'mars': 12})
print(m)

您没有指定错误,我假设解释器不允许您将列表与字符串连接起来

def __repr__(self):
    return "The minibar contains the drinks: " + str(self.drinks) +  "And the snacks: "  + str(self.snacks) +  "The bill for the minibar is:" + str(self.bill)

python解释器不允许用字符串连接列表。相反,您可以使用
str(list)
将列表转换为字符串,或遍历列表中的元素:

class Minibar:

    def __init__(self, drinks, snacks):
        self.drinks = drinks
        self.snacks = snacks
        self.bill = 0

    def __repr__(self):
        string = "The minibar contains the drinks: "
        for drink in self.drinks:
            string += drink + " "

        string += "And the snacks: "
        for snack in self.snacks:
            string += snack + " "

        string += "The bill for the minibar is " + str(self.bill)

        return string

你能告诉我们错误代码吗?你不能连接列表和字符串,这就是你在这里要做的。你的问题有点含糊,所以一些额外的细节在这里会很有帮助。如果你也能发布错误,那会很有帮助术语“不工作”没有任何意义。下次请用一句话来描述这个问题,比如:“当我试图打印这个对象时,它会引发一个
TypeError
只能将str(而不是“list”)连接到str
”。