Korrigieren Sie den folgenden Code. Die Klasse Hefter
soll ein Instanzattribut blaetter
, sowie die
vier Methoden __init__
, blatt_hinzufuegen
, blatt_entfernen
und zeige_alle_blaetter
besitzen. Die Aufgaben der Methoden können dem Docstrings entnommen werden.
Es soll nun ein neues Objekt der Klasse Hefter
erstellt werden, welches initial die Strings
“Blatt 1” und “Blatt 2” enthält. Von diesem Hefter-Objekt soll nun das erste Blatt entfernt
werden. Danach soll ein neues Blatt mit dem Inhalt “Neues Blatt” hinzugefügt werden. Zuletzt
sollen alle enthaltenen Blätter ausgegeben werden
class Hefter:
def __init__(self, initiale_blaetter):
"""
Das Argument initiale_blaetter ist eine Liste von Strings
und wird dem Instanzattribut blaetter zugewiesen.
"""
blaetter = initiale_blaetter
def blatt_hinzufuegen(blatt):
"""Fuegt ein Blatt der Liste von Blaettern am Ende hinzu."""
self.blaetter.append(blatt)
def blatt_entfernen():
"""Entfernt das letzte Blatt aus der Liste von Blaettern."""
return blaetter.pop()
def zeige_alle_blaetter(self):
"""
Gibt nacheinander alle Blaetter aus der Liste von
Blaettern aus.
"""
for blatt in self.blaetter:
print(self.blatt)
if __name__ == "__main__":
blaetter = ["Blatt 1", "Blatt 2"]
hefter = hefter(blaetter)
blatt_entfernen(hefter)
hefter.blatt_hinzufuegen("Neues Blatt")
hefter.zeige_alle_blaetter(self)