
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 confory hace una cuenta regresiva conwhile;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:- ¿Qué ocurría ayer cuando una condición
ifera verdadera? - Si una lista contiene
15,20y25, ¿en qué orden esperas ver esos valores? - Si un contador empieza en
3y disminuye de uno en uno mientras sea mayor que0, ¿cuál será el último número impreso? - ¿Qué podría pasar si la condición de un
whilenunca 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. 110: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:
2:14:13-2:20:21· While Loop. Detente antes de Building a Guessing Game.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. 2La 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. 430: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,minutosvale15ytotalvale15; - tras la segunda,
minutosvale20ytotalvale35; - tras la tercera,
minutosvale25ytotalvale60; - en el
while,restantespasa de3a2, luego a1y finalmente a0.
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
ListoMarca 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:- Mi
forrecorrió: los tres valores, en orden. - Mi
whileterminó cuando: el contador llegó al valor que vuelve falsa la condición. - El error de borde fue: por qué
>= 0imprimía una vuelta adicional. - 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
forrecorrió15,20y25en ese orden. - El total final del
forfue60. - El
whileimprimió3,2,1y luegoListo. - 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 > 0y verificaste la salida limpia. - Puedes explicar cuándo elegir
fory cuándo elegirwhileen este programa. - No adelantaste tablas de multiplicar, juegos de adivinanza, funciones, excepciones ni bucles anidados.
References
- 1More Control Flow Tools — Python documentation
docs.python.org
- 2
- 3Free Python Programming Course — freeCodeCamp
freecodecamp.org
- 4
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.
