Inhaltsverzeichnis
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
Temas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza
WeiterlesenTemas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza
Weiterlesen• https://docs.python.org/3/ El sitio principal de documentación de Python 3. Contiene tutoriales, referencias de bibliotecas, guías de configuración e instalación, así como Python cómo-tos • https://docs.
Weiterlesen