Die Animation geht die 5-Schritte-Methode durch und baut in Schritt 5 den Code unten Zeile für Zeile auf. Jede Zeile wird auf die Regel zurückgeführt, aus der sie stammt.
Die rekursive Funktion zur Berechnung des Zinseszinses könnte wie folgt aussehen:
def compound_interest(principal, rate, time): """ Berechnet das Endguthaben einer Investition unter Berücksichtigung des Zinseszinses. Args: principal (float): Der Anfangsbetrag der Investition. rate (float): Der jährliche Zinssatz als Dezimalzahl (z.B. 0.05 für 5%). time (int): Die Laufzeit der Investition in Jahren. Returns: float: Das Endguthaben der Investition. Raises: ValueError: Wird geworfen, wenn die Laufzeit negativ ist. """ if time < 0: raise ValueError("Die Laufzeit kann nicht negativ sein.") if time == 0: return principal else: return compound_interest(principal * (1 + rate), rate, time - 1)
compound_interest(1000, 0.05, 4) liefert 1215.5062500000001 und nicht glatt 1215.51 – Gleitkommazahlen sind nicht exakt, und vier Multiplikationen hintereinander machen den Fehler sichtbar. Für eine Geldanzeige gehört ein round(…, 2) dazu.