Ich bin mir nicht sicher, wie man den letzten Platz loswerden kann, könnte mir bitte jemand zeigen, was ich mit meinem Code machen soll. Dank Loswerden des letzten Platzes
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
Erwartet: [8 7 6 5 3]
Got: [8 7 6 5 3]
Bitte verwenden Sie keine Bilder, kopieren Sie einfach den Code in die Frage. – MSeifert
'__str__' sollte nicht 'drucken', es sollte konstruieren und 'returning' ein' str' sein. Ich würde dringend empfehlen, zuerst eine '__iter__'-Methode zu implementieren und dann' __str__' zu implementieren (Sie könnten '' __str__' im Grunde als 'return '[{}]' implementieren. Format ('' .join (map (str , self))) 'wenn du einen funktionierenden' __iter__' hättest, den du sowieso für eine richtige Sequenz brauchst. – ShadowRanger
Wenn Sie die Schleife behalten wollen, fügen Sie einfach ein 'if' hinzu, das prüft, ob Sie auf dem letzten Element sind, und falls ja, ändert den Parameter 'end' in die leere Zeichenfolge. – Linuxios