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
”。