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.