5.4. Funciones recursivas¶
Las funciones recursivas son funciones que se llaman a sí mismas durante su propia ejecución. Ellas funcionan de forma similar a las iteraciones, pero debe encargarse de planificar el momento en que dejan de llamarse a sí mismas o tendrá una función recursiva infinita.
Estas funciones se estilan utilizar para dividir una tarea en sub-tareas más simples de forma que sea más fácil abordar el problema y solucionarlo.
5.4.1. Función recursiva sin retorno¶
Un ejemplo de una función recursiva sin retorno, es el ejemplo de cuenta regresiva hasta cero a partir de un número:
>>> def cuenta_regresiva(numero):
... numero -= 1
... if numero > 0:
... print numero
... cuenta_regresiva(numero)
... else:
... print "Boooooooom!"
... print "Fin de la función", numero
...
>>> cuenta_regresiva(5)
4
3
2
1
Boooooooom!
Fin de la función 0
Fin de la función 1
Fin de la función 2
Fin de la función 3
Fin de la función 4
5.4.2. Función recursiva con retorno¶
Un ejemplo de una función recursiva con retorno, es el ejemplo del calculo del factorial de un número corresponde al producto de todos los números desde 1 hasta el propio número. Es el ejemplo con retorno más utilizado para mostrar la utilidad de este tipo de funciones:
>>> def factorial(numero):
... print "Valor inicial ->",numero
... if numero > 1:
... numero = numero * factorial(numero -1)
... print "valor final ->",numero
... return numero
...
>>> print factorial(5)
Valor inicial -> 5
Valor inicial -> 4
Valor inicial -> 3
Valor inicial -> 2
Valor inicial -> 1
valor final -> 1
valor final -> 2
valor final -> 6
valor final -> 24
valor final -> 120
120
Por hacer
TODO terminar de escribir la sección Funciones recursivas.
Ver también
Consulte la sección de lecturas suplementarias del entrenamiento para ampliar su conocimiento en esta temática.