Una función que se llama a sí misma
El nombre down está dentro de down, y cada paso pasa un número una unidad menor. Por eso down(3) escribe 3, luego 2, luego 1.
La línea if n == 0: return es la parada. Cuando n es 0, corre esa línea y down no se usa otra vez. Si no la escribes, los pasos no se acaban y el programa no llega al final. Esa forma rota no aparece abajo.
def down(n):
if n == 0:
return
print(n)
down(n - 1)
down(3)
La pantalla muestra 3, luego 2, luego 1. print corre antes del siguiente down. down(1) escribe 1 y luego llega a down(0). down(0) cae en la parada, no escribe nada, y el programa termina.
Pon print en la línea de después de down(n - 1). Los números menores salen primero, porque cada paso espera a que el de dentro haya terminado.
def down(n):
if n == 0:
return
down(n - 1)
print(n)
down(3)
La pantalla muestra 1, luego 2, luego 3. down(0) sigue sin escribir nada. Los print corren a la vuelta, así que 1 se escribe antes que 2, y 2 antes que 3.
down(0) solo no llega nunca a print. La parada corre enseguida.
def down(n):
if n == 0:
return
print(n)
down(n - 1)
down(0)
La pantalla se queda vacía y el programa termina. n ya es 0, así que print y el down siguiente se saltan.
Leer mal las pantallas
El segundo programa no es 3, luego 2, luego 1. Ese orden es del primero, donde print va delante. Quitas if n == 0: return de cualquiera de los dos y los pasos no se acaban. No ejecutes esa versión.
La página siguiente es una lista de valores. Aquí solo se ve una función que usa su propio nombre, y la línea que la para en 0.
Sigue los números
- ¿Qué escribe el primer programa, primero y después?
- ¿Qué escribe el segundo programa, primero y después?
- ¿Qué escribe el tercer programa?
- Quitas la parada en 0. ¿El programa llega al final?
Qué hace down
El nombre down dentro de down, con n - 1, baja de 3 a 1. print antes de ese paso escribe 3, luego 2, luego 1. print después escribe 1, luego 2, luego 3. if n == 0: return es la razón de que el programa termine. down(0) no escribe nada.
🧠 Pon a Prueba tu Conocimiento
Pon a Prueba tu Conocimiento
Ponte a prueba con este cuestionario interactivo y descubre qué tan bien entiendes el tema
📝 Instrucciones
- Lee cada pregunta cuidadosamente
- Selecciona la mejor respuesta para cada pregunta
- Puedes repetir el quiz tantas veces como quieras
- Tu progreso se mostrará en la parte superior