我不确定如何摆脱最后一个空格,谁能告诉我如何处理我的代码来做到这一点。谢谢
class UnorderedList:
def __init__(self):
self.head = None
def __str__(self):
item = self.head
print("[", end="")
while item != None:
print(item.get_data(), sep="", end=" ")
item = item.get_next()
print("]", end="")
def add(self, item):
new_node = Node(item)
new_node.set_next(self.head)
self.head = new_node
预期: [8 7 6 3 5]
得到: [8 7 6 3 5 ]
异常说__str__ returned non-string
.因为您打印表示形式而不是返回它。您可以使用join
函数用分隔符来简洁排列列表中的项目。
def __str__(self):
item = self.head
items = list()
while item:
items.append(str(item.get_data()))
item = item.get_next()
return '[' + ' '.join(items) + ']'