Las funciones recursivas son ser una gran herramienta para realizar un programa en python. Aunque cuando recién iniciamos en la programación, estas funciones tienden a ser un poco confusas, pero el utilizarlas te hará ver como un programador experimentado y con nivel alto de pensamiento computacional.
En este curso vimos que existen dos tipos de recursividad: algorítmica y programática.
Ahora veremos un ejemplo de recursividad, en donde no solicitan que le demos reversa a nuestra cadena de caracteres (en este caso “platzi”). Véamos cómo la recursividad nos ayuda con esta tarea.
defreverse(str):"""Regresa la reversa de una cadena de caracteres
"""if str=="":
return str
else:
cadena=reverse(str[1:])+str[0]
print(f"Ahora la posición 0 es: {str[0]}")
return cadena
print(reverse("platzi"))
Y da como resultado:
Ahora la posición 0 es: i
Ahora la posición 0 es: z
Ahora la posición 0 es: t
Ahora la posición 0 es: a
Ahora la posición 0 es: l
Ahora la posición 0 es: p
iztalp
¿Cómo funciona?
La magia en este código está en str[0], el cual va cambiando en cada iteración, ya que la cadena que vuelve a entrar a recursividad(str) sería str[1:], en donde se salta el primer dígito (str[0]) y se le suma al final.
Recuerda que la recursividad hace que tu código sea más rápido de leer y escribir, además te ves más profesional.