Entrada

Funciones Recursivas

El concepto de recursividad es la forma de autorreferencialidad, quiere decir, se trata de funciones que se llaman a sí mismas durante su propia ejecución. Funcionan de una forma similar a las iteraciones, pero debemos encargarnos de planificar una estrategia para que dejen de llamarse a sí mismas, de lo contrario tendremos una función recursiva infinita.

1
2
3
4
5
6
7
def cuenta_regresiva(num):
	num -= 1
	if num > 0:
		print(num)
		cuenta_regresiva(num)
	else:
		print("Boooom!")
1
2
3
4
5
4
3
2
1
Boooom!

Ejemplo con retorno

El factorial de un número corresponde al producto de todos los números desde el 1 hasta el propio número. Es el ejemplo más común para mostrar la utilidad de este tipo de funciones:

  • 3! = 1x2x3 = 6
  • 5! = 1x2x3x4x5 = 120
1
2
3
4
5
6
7
8
def factorial(num):
	print("Valor inicial:", num)
	if num > 1:
		num = num * factorial(num - 1)
	print("Valor final:", num)
	return num

print(factorial(5))
1
2
3
4
5
6
7
8
9
10
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

Mi lema es

Esta entrada está licenciada bajo CC BY 4.0 por el autor.