Catch the Python

Aufgabe

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)