Lección 5 de 16 · Líneas que nunca se ejecutan
Decidir: if y else
Ver que la condición se evalúa a True o False y que el bloque que no corresponde se salta.
Metodología · Comprensión
PRIMM: predecir, ejecutar, investigar, modificar, crear
Predice qué líneas se ejecutan y en qué orden; compruébalo con los marcadores de línea.
Metodología · Práctica
Aprendizaje para el dominio (mastery learning)
No avances hasta acertar las preguntas de repaso: los bucles y funciones se apoyan en esto.
t<0 Antes de ejecutar
Lee el código y comprométete con una predicción
Mientras tanto, Python ya hizo su parte de t<0: leyó y compiló el archivo completo. Ninguna variable existe todavía.
programa.py
1edad = 17 2if edad >= 18: 3 print("Puede votar") 4else: 5 print("Aún no puede votar") 6print("Fin")
t=0 t>0 Ejecución paso a paso
Qué se ejecuta primero y dónde vive cada variable
Avanza con Siguiente paso o las flechas del teclado. Pasa el mouse por una variable para ver a qué objeto apunta.
t=-1
Antes de ejecutar
Python lee y compila el archivo
1edad = 172if edad >= 18:3 print("Puede votar")4else:5 print("Aún no puede votar")6print("Fin")
Salida
(vacía)
Qué pasó
- Antes de ejecutar nada, Python lee el archivo completo y lo compila a bytecode: instrucciones que su máquina virtual entiende.
- Si hubiera un error de sintaxis, el programa fallaría aquí, sin ejecutar ni una sola línea.
- Nombres que aparecen en el código: edad, print. Ninguno existe todavía en memoria.
Pila de marcos · dónde viven los nombres
Todavía no hay marcos: ninguna variable existe.
Montón · dónde viven los objetos
Ningún objeto todavía.
Idea clave
La línea 2 calcula edad >= 18 → False. Python salta el bloque del if y ejecuta el del else. La línea 3 nunca se ejecuta: no existe en esta línea de tiempo.
t>0 Después: repaso sin mirar
Recupera de memoria
Responde sin volver al paso a paso. Para dominar la lección necesitas 3 de 3.
Explícalo con tus palabras (Feynman)
Dominio de la lección
Aún no
- Falta la predicción (t<0)
- Repaso: 0 de 3 (se necesitan 3)