--Originally published at codemathblog.wordpress.com
Hola! En este blog voy a explicar que es la recursividad usando Python.
De acuerdo al diccionario de la Real Academia Española, significa: “Algo que se aplica de nuevo al resultado de haberlo aplicado previamente” (RAE, 2016). Y eso es justo lo que es, algo que se corre dentro de un algo, en nuestro caso es una función que se corre dentro de sí misma.
Vamos a hacer un ejemplo sencillo, haremos un programa que obtenga el factorial de un número x usando la recursividad.
Les enseñaré como me quedó mi código y a partir de ahí lo explicaré:

Primeramente hice mi función con un elemento x en ella, que será el número del cual obtendremos el factorial.
Después hice un condicional, que se hará cuando x sea mayor a 0, en la cual, si es verdad:
x se multiplica por la misma función: x*mi_factorial(x-1)
Esto hace que la función se corra de nuevo dentro de la misma función n veces hasta que x es 0.
Vamos a pensar que queremos el factorial de 4:
La primera vez que se corre la función;
4*mi_factorial(3)
La segunda:
3*mi_factorial(2)
La tercera:
2*mi_factorial(1)
Cuarta:
1*mi_factorial(0)
Quinta, regresa 1 porque no se cumple el condicional:
mi_factorial(0)=1
Entonces, obtuve que la quinta se va a multiplicar por la 4ta vez, luego por la tercera, luego por la segunda y finalmente por la primera, dejando:
1*1*2*3*4=

Muchas gracias! espero haber sido de ayuda
Les dejo este link para entender mejor el concepto:
Referencias:
DLE. (2016). Recursivo. Recuperado de: http://dle.rae.es/?id=VXkDTwd