Funciones recursivas
En la unidad anterior hemos visto como crear una función para calcular el factorial de un número:
Veamos un ejemplo de definición de función:
>>> def factorial(n):
... """Calcula el factorial de un número"""
... resultado = 1
... for i in range(1,n+1):
... resultado*=i
... return resultado
El factorial de un número también puede ser calculado de forma recursiva: el factorial del 0 o del 1 es 1, y el factorial de un número es igual al número multiplicado por el factorial del número menos 1.
Una función recursiva es aquella que al ejecutarse hace llamadas a ella misma. Por lo tanto tenemos que tener “un caso base” que hace terminar el bucle de llamadas. Veamos un ejemplo:
def factorial(num):
if num==0 or num==1:
return 1
else:
return num * factorial(num-1)
Y para utilizar la función:
>>> factorial(5)
120