Semana 3 · Día 3 — Numera y descuenta pruebas con for y while

Semana 3 · Día 3 — Numera y descuenta pruebas con for y while

En 60 minutos crearás un archivo que numera tres pruebas con for, las descuenta con while y corrige dos límites equivocados.

Entregable de hoy

Semana 3 — Control de flujo · Día 3
Guarda un único archivo llamado S3D3_bucles.py. Al terminar, el programa debe usar for para numerar tres pruebas y while para descontar las tres que quedan. Conserva dentro del archivo esta salida completa:
Prueba 1 - pendiente
Prueba 2 - pendiente
Prueba 3 - pendiente
Pruebas pendientes: 3
Pruebas pendientes: 2
Pruebas pendientes: 1
Pruebas completadas

Dos formas de decidir cuándo parar

for toma un elemento de una secuencia en cada vuelta. En el código de hoy, range(1, 4) produce 1, 2 y 3: el valor final, 4, marca el límite y no entra en la secuencia. 12
while vuelve a ejecutar su bloque mientras la condición sea verdadera. Por eso pendientes = pendientes - 1 es parte del mecanismo: cambia el valor después de cada vuelta hasta que pendientes > 0 deja de cumplirse. 3
La diferencia que debes poder explicar al cerrar la sesión es concreta: for se detiene cuando agota range(1, 4); while se detiene cuando la actualización de pendientes vuelve falsa su condición.

Recursos

Sesión de 60 minutos

00:00–10:00 · 10 min de repaso

  1. Abre S3D2_validaciones.py y localiza la cadena if/elif/else que escribiste ayer.
  2. Ejecuta uno de los casos válidos y observa que la clasificación produce una sola salida.
  3. Escribe en tus notas dos secuencias sin usar código: 1, 2, 3 y 3, 2, 1.
  4. Predice qué control conviene a cada una: un rango definido para la primera; una condición que cambia para la segunda.

10:00–30:00 · 20 min de curso o video

En Learn Python - Full Course for Beginners [Tutorial], mira 2:14:13–2:20:21 y después 2:32:44–2:41:20. Salta el capítulo intermedio Building a Guessing Game: el juego de adivinanza corresponde al Día 5.
Usa los cinco minutos restantes para anotar estas dos respuestas:
  • En for prueba in range(1, 4), ¿qué secuencia controla las vueltas?
  • En while pendientes > 0, ¿qué línea acerca la condición a False?

30:00–55:00 · 25 min de práctica

Crea S3D3_bucles.py desde un archivo vacío:
# S3D3_bucles.py

for prueba in range(1, 4):
    print("Prueba", prueba, "- pendiente")

pendientes = 3
while pendientes > 0:
    print("Pruebas pendientes:", pendientes)
    pendientes = pendientes - 1

print("Pruebas completadas")

# Evidencia de ejecución:
#
#
#
#
#
#
#

# Cambio en range que probé:
# Salida que faltó:
# Condición de while que probé:
# Iteración extra que apareció:
# Corrección final:
Trabaja en este orden:
  1. Predice la salida. Escribe qué tres valores tomará prueba y qué tres valores imprimirá pendientes.
  2. Ejecuta y conserva la evidencia. Copia las siete líneas del terminal debajo de # Evidencia de ejecución:.
  3. Provoca una omisión controlada. Cambia temporalmente range(1, 4) por range(1, 3). Ejecuta el archivo y anota qué línea dejó de aparecer.
  4. Restaura el for. Devuelve el límite a 4 y comprueba que reaparece Prueba 3 - pendiente.
  5. Provoca una vuelta extra. Cambia temporalmente la condición por while pendientes >= 0. La resta sigue haciendo que el programa termine, pero aparecerá Pruebas pendientes: 0.
  6. Restaura el while. Recupera pendientes > 0, ejecuta otra vez y comprueba que la salida coincide con el entregable.
No conviertas el ejercicio en una tabla de multiplicar ni en un juego. Hoy importa ver qué dato controla cada repetición y corregir dos límites equivocados.

55:00–60:00 · 5 min de notas

Completa los cinco comentarios finales con valores literales del terminal. En Corrección final, escribe las dos condiciones restauradas: range(1, 4) y pendientes > 0.
Cierra las notas con una frase propia:
Usaría for cuando ________; usaría while cuando ________.

Hecho cuando…

  • Guardaste un archivo ejecutable llamado S3D3_bucles.py.
  • Usaste for con range(1, 4) y obtuviste las pruebas 1, 2 y 3.
  • Usaste while con una condición que cambia mediante pendientes = pendientes - 1.
  • Copiaste las siete líneas de la salida final dentro del archivo.
  • Cambiaste el límite de range, detectaste la prueba ausente y restauraste el 4.
  • Probaste pendientes >= 0, detectaste la vuelta extra y restauraste pendientes > 0.
  • Pudiste explicar qué detiene cada bucle.
  • Terminaste sin crear una tabla de multiplicar, un juego de adivinanza, funciones ni listas.
Cierre: conserva S3D3_bucles.py junto a los dos archivos anteriores. Las mismas tres pruebas ya quedaron numeradas y descontadas; el archivo demuestra dónde empieza y dónde termina cada repetición.

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

Related content