función recursiva de Python
Una función recursiva es una función dentro de una función que puede llamar a otras funciones. Una función es recursiva si se llama a sí misma dentro de sí misma.
Por ejemplo, calculemos el factorial n! = 1 * 2 * 3 * ...* n, representado por la función fact(n), puedes ver:
hecho(n ) = n! = 1 * 2 * 3 * ...* (n-1) * n = (n-1)! * n = fact(n-1) * n
Por lo tanto, fact(n) se puede expresar como n * fact(n-1), y solo se requiere un tratamiento especial cuando n=1.
Por lo tanto, fact(n) se puede escribir recursivamente como:
def?fact(n): if?n==1: return?1 return?n?*?fact ( n?-?1)
El código dentro de la función es el mismo, pero los parámetros son diferentes y los resultados del procesamiento también son diferentes. Cuando los parámetros cumplen una condición (a menudo llamada salida de recursividad), la función detiene la ejecución; de lo contrario, se producirá un bucle infinito.
Por ejemplo:
def?sum_numbers(num): print(num) # Es importante salir de la recursividad, de lo contrario ocurrirá un bucle infinito if?num==1: ?return suma_números(núm -1) suma_números(3)