LU03.L02 - Zinseszins-Berechnung

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.

  • modul/m323/learningunits/lu03/loesungen/zinseszins.txt
  • Zuletzt geändert: 2026/09/01 10:01
  • von admin