Semana 3 · Día 3: Bucles for y while en Python

Semana 3 · Día 3: Bucles for y while en Python

Construye un programa que recorre tres bloques con `for`, cuenta de 3 a 1 con `while` y corrige una vuelta adicional causada por `>= 0` en 60 minutos.

Entrega de hoy

Al terminar los 60 minutos tendrás una carpeta dia-03-bucles/ con cuatro evidencias:
  • bucles.py, un programa que recorre tres bloques de práctica con for y hace una cuenta regresiva con while;
  • predicciones.md, con la salida que esperas antes de ejecutar;
  • salida.txt, con la ejecución real y la comparación contra tu predicción;
  • error_borde.py, una copia donde provocarás y corregirás una repetición de más.
La etiqueta exacta de la malla es Semana 3 · Día 3: Bucles for y while. Hoy pasarás de elegir una rama con if a repetir instrucciones. No avances todavía a tablas de multiplicar, juegos de adivinanza, funciones, excepciones ni bucles anidados.

Sesión de 60 minutos

00:00-10:00 · Repaso y predicción

Abre predicciones.md y responde sin ejecutar código:
  1. ¿Qué ocurría ayer cuando una condición if era verdadera?
  2. Si una lista contiene 15, 20 y 25, ¿en qué orden esperas ver esos valores?
  3. Si un contador empieza en 3 y disminuye de uno en uno mientras sea mayor que 0, ¿cuál será el último número impreso?
  4. ¿Qué podría pasar si la condición de un while nunca llega a ser falsa?
Después copia estas dos predicciones:
FOR: 15, 20, 25; total 60
WHILE: 3, 2, 1; después "Listo"
Usarás for para recorrer una secuencia y while para repetir un bloque mientras una condición siga siendo verdadera. La documentación de Python presenta ambas como las sentencias básicas de repetición. 1

10:00-30:00 · Recurso de la malla

Abre Learn Python - Full Course for Beginners [Tutorial], el curso gratuito de freeCodeCamp nombrado en la malla. Si lo necesitas, activa la pista en español desde el engranaje del reproductor. Usa estos dos tramos del índice oficial:
  1. 2:14:13-2:20:21 · While Loop. Detente antes de Building a Guessing Game.
  2. 2:32:44-2:41:20 · For Loops. Detente antes de Exponent Function.
Los dos segmentos suman unos quince minutos; dedica los cinco restantes a escribir en predicciones.md una frase para cada bucle: «for termina cuando…» y «while termina cuando…». Los títulos, las marcas de tiempo y la disponibilidad de doblaje aparecen en la ficha oficial del video. 2
La malla también nombra Free Python Programming Course. Esa página gratuita de freeCodeCamp enlaza otro curso para principiantes que incluye bucles. 3 En el video oficial incrustado, el índice marca Loops en 2:26:27 y Break and Continue en 2:32:01. Úsalo como consulta adicional; hoy no necesitas practicar break ni continue. 4

30:00-55:00 · Dos bucles y un error de borde

Crea dia-03-bucles/bucles.py:
bloques = [15, 20, 25]
total = 0

print("Recorrido con for")
for minutos in bloques:
    print(f"Bloque: {minutos} minutos")
    total = total + minutos

print(f"Total: {total} minutos")

restantes = 3
print("Cuenta regresiva con while")
while restantes > 0:
    print(restantes)
    restantes = restantes - 1

print("Listo")
Antes de ejecutar, sigue el valor de cada variable sobre papel:
  • tras la primera vuelta del for, minutos vale 15 y total vale 15;
  • tras la segunda, minutos vale 20 y total vale 35;
  • tras la tercera, minutos vale 25 y total vale 60;
  • en el while, restantes pasa de 3 a 2, luego a 1 y finalmente a 0.
Ejecuta bucles.py y copia la salida completa en salida.txt. Debe quedar así:
Recorrido con for
Bloque: 15 minutos
Bloque: 20 minutos
Bloque: 25 minutos
Total: 60 minutos
Cuenta regresiva con while
3
2
1
Listo
Marca en predicciones.md qué líneas coincidieron. Si una no coincide, compara primero la indentación: las líneas dentro de cada bucle llevan cuatro espacios.
Ahora duplica el programa como error_borde.py. Cambia solo esta línea:
while restantes > 0:
por esta:
while restantes >= 0:
Predice la diferencia y ejecuta la copia. Aparecerá un 0 adicional antes de Listo: cuando restantes vale 0, la condición 0 >= 0 todavía es verdadera y el bloque se repite una vez más. Guarda esa salida bajo ERROR CONTROLADO en predicciones.md.
Restaura while restantes > 0, ejecuta de nuevo y comprueba que la cuenta termina en 1. Deja error_borde.py con la comparación correcta. No elimines restantes = restantes - 1: sin esa actualización, la condición seguiría siendo verdadera y el bucle no terminaría por sí solo.

55:00-60:00 · Cierre de notas

Añade cuatro líneas al final de predicciones.md:
  1. Mi for recorrió: los tres valores, en orden.
  2. Mi while terminó cuando: el contador llegó al valor que vuelve falsa la condición.
  3. El error de borde fue: por qué >= 0 imprimía una vuelta adicional.
  4. Mañana debo recordar: qué parte del programa cambia si quiero más o menos repeticiones.
Cierra con una prueba limpia de bucles.py. La evidencia de hoy no es repetir la definición de un bucle: es poder señalar el valor de la variable antes y después de cada vuelta.

Hecho cuando...

  • Existe dia-03-bucles/ con los cuatro archivos pedidos.
  • Escribiste las dos predicciones antes de ejecutar.
  • El for recorrió 15, 20 y 25 en ese orden.
  • El total final del for fue 60.
  • El while imprimió 3, 2, 1 y luego Listo.
  • Guardaste la salida real completa en salida.txt.
  • Provocaste la vuelta adicional con while restantes >= 0.
  • Explicaste por qué apareció el 0.
  • Restauraste while restantes > 0 y verificaste la salida limpia.
  • Puedes explicar cuándo elegir for y cuándo elegir while en este programa.
  • No adelantaste tablas de multiplicar, juegos de adivinanza, funciones, excepciones ni bucles anidados.

This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.

Related content