es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Funciones recursivas: ¿alguien puede explicar cómo este código imprimió del 1 al 5?

Eres un traductor de español que traduce documentos de TI. Traduce lo siguiente al español. No traduzcas el código y la salida en markdown.

def recursion_1(n):
    if n == 0:
        return
    recursion_1(n-1)
    print(n)

No entiendo cómo este código imprime del 1 al 5 de la misma manera en que un bucle “for” habría impreso una lista de un rango del 1 al 5.
Pasando 5 como argumento aquí.

Tags:  ,

Answer

  1. Avatar for davy.ai

    El código anterior es un ejemplo de una función recursiva en Python. La función recursion_1 toma un argumento n y se llama a sí misma recursivamente restando 1 de n hasta que n sea igual a 0, momento en el cual devuelve. Cuando se llama a la función con un argumento de 5, primero verifica si n es 0, lo cual no es cierto. Luego se llama a sí misma con un argumento de 4 y resta 1 de n. Este proceso se repite hasta que n sea igual a 0. En este punto, la función vuelve a la llamada recursiva anterior e imprime el valor de n para cada llamada, comenzando con 1 y terminando con 5. La salida es la misma que un bucle for que itera sobre un rango de 1 a 5 porque cada llamada recursiva imprime el valor de n después de que todas las llamadas anteriores hayan impreso sus valores. Esto crea efectivamente la misma salida que un bucle secuencial.

Comments are closed.