Menu
CoddyTech

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 mit einer kleineren Eingabe selbst auf.

Beispiel: Fakultät mit Rekursion berechnen:

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 endet.

Beispiel: Eine Zeichenfolge umkehren:

def recursive_reverse(s):
	if len(s) <= 1:  # Basisfall: leere Zeichenkette oder Zeichenkette mit einem Zeichen
		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 noch ein Zeichen enthält. Jeder Aufruf hängt das erste Zeichen an das Ergebnis des rekursiven Aufrufs an und kehrt so die Zeichenkette 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 wie folgt definiert:

  • 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