""" Kapitel 02: Der Konstruktor __init__ und self ============================================== In dieser Aufgabe erstellst du eine Klasse "Bankkonto" für eine Taschengeld-App. """ class Bankkonto: # ========================================================================== # 🎯 TEILZIEL 1 (TODO 1): Schreibe die __init__-Methode. # Parameter: self, inhaber (String), kontostand (Float, Standardwert 0.0) # # Anleitung: # 1. Definiere: def __init__(self, inhaber, kontostand=0.0): # 2. Speichere die übergebenen Werte an self: # self.inhaber = inhaber # self.kontostand = kontostand # ========================================================================== def __init__(self, inhaber, kontostand=0.0): # 🎯 TEILZIEL 1: Implementiere die Logik Schritt für Schritt: # 💡 Tipp: Beachte Datentypen und das abschließende return! pass # ========================================================================== # 🎯 TEILZIEL 2 (TODO 2): Schreibe die Methode "einzahlen(self, betrag)". # # Regeln: # 1. Wenn 'betrag' größer als 0 ist: # - Erhöhe 'self.kontostand' um 'betrag': self.kontostand += betrag # - Gib True zurück (Einzahlung erfolgreich). # 2. Wenn 'betrag' kleiner oder gleich 0 ist (z.B. 0 oder -5): # - Ändere nichts am Kontostand. # - Gib False zurück. # ========================================================================== def einzahlen(self, betrag): # 🎯 TEILZIEL 2: Implementiere die Logik Schritt für Schritt: # 💡 Tipp: Beachte Datentypen und das abschließende return! pass # ========================================================================== # 🎯 TEILZIEL 3 (TODO 3): Schreibe die Methode "auszahlen(self, betrag)". # # Regeln: # 1. Prüfe mit 'if', ob 'betrag > 0' UND 'self.kontostand >= betrag': # - Wenn ja: Ziehe den Betrag ab (self.kontostand -= betrag) # - Gib True zurück. # 2. Wenn nicht (nicht genug Geld da oder ungültiger Betrag): # - Gib False zurück. # ========================================================================== def auszahlen(self, betrag): # 🎯 TEILZIEL 3: Implementiere die Logik Schritt für Schritt: # 💡 Tipp: Beachte Datentypen und das abschließende return! pass # ========================================================================== # 🎯 TEILZIEL 4 (TODO 4): Schreibe die Methode "info_text(self)". # # Sie soll einen formatierten String zurückgeben: # "Konto von {inhaber}: {kontostand:.2f} Euro" # # Beispiel: Bei inhaber="Mia" und kontostand=25.5 -> "Konto von Mia: 25.50 Euro" # Tipp: f"Konto von {self.inhaber}: {self.kontostand:.2f} Euro" # ========================================================================== def info_text(self): # 🎯 TEILZIEL 4: Implementiere die Logik Schritt für Schritt: # 💡 Tipp: Beachte Datentypen und das abschließende return! pass # ============================================================================== # Hauptprogramm zum Ausprobieren: # (Direkt ausführen mit 'python3 aufgabe.py') # ============================================================================== if __name__ == "__main__": print("--- Teste dein Bankkonto ---") konto = Bankkonto("Mia", 20.0) if hasattr(konto, "inhaber") and konto.inhaber: print(konto.info_text()) erfolg = konto.einzahlen(15.5) print(f"15.50€ eingezahlt? {erfolg} -> Neuer Stand: {konto.kontostand:.2f}€") erfolg = konto.auszahlen(50.0) print(f"50.00€ ausgezahlt? {erfolg} (sollte False sein) -> Stand: {konto.kontostand:.2f}€") erfolg = konto.auszahlen(10.0) print(f"10.00€ ausgezahlt? {erfolg} -> Stand: {konto.kontostand:.2f}€") else: print("💡 Hinweis: Implementiere erst die TODOs, um die Ausgabe zu sehen!")