LU03.L02 - Zinseszins-Berechnung

Herleitung über alle fünf Schritte

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.

Musterlösung für die rekursive Funktion

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.