Recursión en Python

La recursión es una técnica donde una función se llama a sí misma para resolver un problema.

def factorial(n):
    if n == 0:
        return 1
    return n * factorial(n - 1)

print(factorial(5))  # 120