Recursieve functies in Python

Een recursieve functie roept zichzelf aan met een eenvoudiger geval. Een stopvoorwaarde beëindigt de herhaling.

Bijvoorbeeld: de faculteit van 5 is 5! = 5 × 4 × 3 × 2 × 1 = 120. We gebruiken n! = n × (n − 1)! en 0! = 1.

def faculteit(n: int) -> int:
    """Bereken n! voor een geheel getal n >= 0."""
    if n == 0:  # Stopvoorwaarde
        return 1
    return n * faculteit(n - 1)


print(faculteit(5))  # 120

Elke aanroep verkleint n met 1, tot n == 0. Daarna worden de resultaten teruggegeven en vermenigvuldigd.

Vorige les: Functies in Python · Python leren