Índice de contenido
9.5 Recursividad en Python La mayoría de los programas de computadora admiten la idea de la recursividad y Python no es una excepción. En Python es perfectamente legal tener una función que se llame a sí misma (es decir, dentro del cuerpo de la función se hace una llamada a la misma función). Cuando la función es ejecutado por lo tanto se llamará a sí mismo. En Python podemos escribir una función recursiva como: def función_recursiva(): print(’llamando a función_recursiva’) función recursiva() Aquí la función recursive_function() se define de tal manera que imprime un mensaje y luego se llama a sí mismo. Tenga en cuenta que no se requiere una sintaxis especial para esto como No es necesario que la función se haya definido por completo antes de utilizarla. Por supuesto, en el caso de recursive_function() esto resultará en infinitos recursividad ya que no hay condición de terminación. Sin embargo, esto sólo se convertirá evidente en tiempo de ejecución cuando Python eventualmente generará un error: Rastreo (llamadas recientes más última): Archivo “recursion_example.py”, línea 5, en <módulo> RecursionError: se excedió la profundidad máxima de recursión durante la llamada un objeto Python Sin embargo, como ya se mencionó, una función recursiva debe tener una parte recursiva y una terminación o parte del caso base. La condición de terminación se utiliza para identificar cuando se aplica el caso base. Por lo tanto, deberíamos agregar una condición para identificar el escenario de terminación y cuál es el comportamiento del caso base. Haremos esto en el siguiente sección mientras vemos cómo se puede generar un factorial para un número recursivamente. 9.6 Cálculo factorial recursivamente Ya hemos visto cómo crear un programa que pueda calcular el factorial de un número utilizando la iteración como uno de los ejercicios del último capítulo; ahora vamos a crear una implementación alternativa que usa la recursividad en su lugar. Recuerda que el factorial de un número es el resultado de multiplicar ese número por cada de los valores enteros hasta ese número, por ejemplo, para encontrar el factorial del número 5 (¡escrito como 5!) podemos multiplicar 1 * 2 * 3 * 4 * 5 lo que generará el número 120. Podemos crear una solución recursiva al problema Factorial definiendo un función que toma un número entero para generar el número factorial. Esta función devolverá el valor 1 si el número pasado es 1; este es el caso base. De lo contrario, multiplicará el valor que se le pasa con el resultado de llamarse a sí mismo (la función factorial()) con n − 1 que es la parte recursiva. 102 9 recursividad
popular post
El modelo AR de series temporales univariadas
Resumen: En esta entrada, descubrirá el modelo AR: El modelo autorregresivo.
Leer másEvaluación de modelos para pronosticar
Resumen: Al desarrollar modelos de aprendizaje automático, generalmente se comparan varios modelos durante la fase de construcción.
Leer másModelos para pronosticar
Resumen: El pronóstico, traducido groseramente como la tarea de predecir el futuro, ha estado presente en la sociedad humana durante siglos.
Leer más