En este ejemplo no entiendo porque el resultado de k empieza desde uno hasta 10 si le pasamos el argumento a la funcion cuando k = 10, me...

Pregunta de la clase:
Recursividad
Alberto Castro Flores

Alberto Castro Flores

Pregunta
studenthace 5 años

En este ejemplo no entiendo porque el resultado de k empieza desde uno hasta 10 si le pasamos el argumento a la funcion cuando k = 10, me pueden explicar como funciona este algoritmo porfavor?

def tri_recursion(k):

if(k > 0):

result = k + tri_recursion(k - 1)

print(f’{k}, k’)

print(result)

else:

result = 0

return result

print("\n\nRecursion Example Results")

tri_recursion(10)

Estos son los resultados:

1, k

1

2, k

3

3, k

6

4, k

10

5, k

15

6, k

21

7, k

28

8, k

36

9, k

45

10, k

55

4 respuestas
para escribir tu comentario
    Alberto Castro Flores

    Alberto Castro Flores

    studenthace 5 años

    ya veo gracias

    Jorge Cruz Perez

    Jorge Cruz Perez

    studenthace 5 años

    Asi es, como comenta edison, cada vez que entras a la llamada recursiva es otro contexto, y eso esta antes de tu llamada a print

    Alberto Castro Flores

    Alberto Castro Flores

    studenthace 5 años

    cuando llega a la linea result = k + tri_recursion(k - 1) por primera vez se imprime el resultado?, o se lo salta para iniciar el nuevo llamado?

    Edison Castro

    Edison Castro

    studenthace 5 años

    Por la recursividad, cuando el código inicia va a llegar a esta línea: result = k + tri_recursion(k - 1) La cual vuelve a llamar a esa misma función y por lo tanto comienza de nuevo, hasta que el resultado llega a 0, entonces luego comienza a devolverse y a imprimir por lo que lo que primero imprime es la última ejecución osea cuando k llego al valor de 1.

Curso de Pensamiento Computacional con Python

Curso de Pensamiento Computacional con Python

Comienza tu camino en el desarrollo de software con el lenguaje de programación Python. Entiende la estructura de pensamiento necesaria para resolver problemas en programación. Domina las estructuras de control para crear soluciones. Conoce las características de Python que te permiten reutilizar código. Prueba tu código e implementa correcciones y mejoras.

Curso de Pensamiento Computacional con Python
Curso de Pensamiento Computacional con Python

Curso de Pensamiento Computacional con Python

Comienza tu camino en el desarrollo de software con el lenguaje de programación Python. Entiende la estructura de pensamiento necesaria para resolver problemas en programación. Domina las estructuras de control para crear soluciones. Conoce las características de Python que te permiten reutilizar código. Prueba tu código e implementa correcciones y mejoras.