Cómo crear una función recursiva en Python
Las funciones recursivas son una técnica de programación que significa que su programa contiene funciones que usted mismo llama. Al igual que las funciones iterativas, las funciones recursivas se pueden utilizar cuando se realizan procesamientos similares varias veces, pero las funciones recursivas pueden manejar problemas más complejos reemplazándolos con código más simple. En este artículo, veremos la creación de funciones recursivas en Python.
Las funciones recursivas se utilizan en las siguientes situaciones.
1. Procesamiento de datos
Al ordenar varios datos o realizar procesamientos repetidos, se pueden utilizar funciones recursivas de acuerdo con la estructura de los datos.
2. Puede resolver algunos problemas algorítmicos complejos
Un ejemplo común es el problema de la "Torre de Hanoi". Según una determinada regla, para cada cambio de estado, se puede utilizar una función recursiva para reemplazarlo y procesarlo con una simple pregunta
3.Análisis de sintaxis (procesamiento del lenguaje natural)
En el procesamiento del lenguaje natural, se pueden utilizar funciones recursivas para realizar el proceso de dividir oraciones en palabras.
¿Cómo crear una función recursiva en Python?
Python permite a los usuarios crear funciones recursivas utilizando funciones personalizadas.
def myfunc(x):
if end condition:
return x
// Qué tipo de procesamiento se realiza p >
Los puntos clave a tener en cuenta con myfunc(x) son los siguientes.
Asegúrese de establecer la condición final. Si no existe una condición de finalización, la llamada recursiva se realizará para siempre y el procesamiento no finalizará.
A la hora de realizar llamadas recursivas debemos prestar atención a los parámetros. Si la condición aquí sigue siendo la misma, la condición final no se puede determinar correctamente
Si cree que el contenido del programa es complicado, consideremos si se puede implementar utilizando funciones distintas a las recursivas.
Veamos un ejemplo específico
En este programa de muestra, hay dos formas de confirmar el retorno de la suma de los números enteros del 1 al n, usando una función recursiva y sin usar una función recursiva.
La primera es no utilizar la función recursiva
El código es el siguiente
def sum(n):
ret = 0
para i en el rango(1, n + 1):
ret += i
return ret
s = suma (100)
Resultado de ejecución de impresión: 5050
El siguiente es el caso del uso de una función recursiva
El código es el siguiente
def suma(n):
si n < 1:
devuelve n
devuelve n + suma(n-1)
s = suma(100)
resultado de ejecución de impresión(es): 5050
Resumen,