Menu
Coddy logo textTech

Rekursive Funktionen Teil 2

Teil des Abschnitts Logik und Ablaufsteuerung der Python-Journey von Coddy. Lektion 61 von 78.

Rekursive Funktionen haben typischerweise zwei Teile:

  1. Basisfall: Legt fest, wann die Rekursion beendet werden soll.
  2. Rekursiver Schritt: Ruft die Funktion selbst mit einer kleineren Eingabe auf.

Beispiel: Berechnung der Fakultät mithilfe von Rekursion:

def factorial(n):
    if n == 1:  # Basisfall
        return 1
    return n * factorial(n - 1)  # Rekursiver Aufruf

print(factorial(5))  # Ausgabe: 120

Hier ruft die Funktion sich selbst mit n - 1 auf, bis sie 1 erreicht, wo die Rekursion stoppt.

Beispiel: Einen String umkehren:

def recursive_reverse(s):
	if len(s) <= 1:  # Basisfall: leerer oder einzeichiger String
		return s
	else:
		return recursive_reverse(s[1:]) + s[0]  # Rekursiver Schritt

text = "hello"
result = recursive_reverse(text)
print(result)
# Ausgabe: olleh

In diesem Beispiel ruft die Funktion recursive_reverse sich selbst mit dem Rest der Zeichenkette (s[1:]) auf, bis die Zeichenkette leer ist oder nur ein Zeichen enthält. Jeder Aufruf hängt das erste Zeichen an das Ergebnis des rekursiven Aufrufs an und kehrt dadurch die Zeichenkette effektiv um.

challenge icon

Aufgabe

Einfach

Schreibe eine rekursive Funktion namens fibonacci, die eine positive ganze Zahl n als Argument entgegennimmt und die n-te Fibonacci-Zahl zurückgibt. Die Fibonacci-Folge ist definiert als:

  • fibonacci(1) = 0
  • fibonacci(2) = 1
  • fibonacci(n) = fibonacci(n-1) + fibonacci(n-2) für n > 2.

Beispieleingabe:

n = 6

Beispielausgabe:

5

Probier es selbst

def fibonacci(n):
    # Schreibe hier den Code
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik und Ablaufsteuerung

Übe selbstständig: Online-Python-Compiler