Lección 8 de 45 · Decisiones y bucles

Bucle for

Sustituye código repetido por una instrucción que dice “haz esto para cada valor”, sin perder de vista cada vuelta.

Paso a pasoRecorrido de elementosAvanza a tu ritmo
Índice · Lección 8/45
La frase que debes oír al leer for

«Para cada valor, haz esto.» Esa es la esencia del bucle for. No pienses primero en símbolos; piensa en una tarea que se repite de forma controlada.

Evidencia de aprendizaje

Identificar qué elementos se recorren y qué valor toma la variable en cada vuelta.

El problema que resuelve

Este código funciona, pero repite la misma idea:

Sin bucle
print("Paso 1")
print("Paso 2")
print("Paso 3")
print("Paso 4")

Si mañana necesitas veinte pasos, copiar veinte líneas sería incómodo y fácil de romper. Un bucle expresa la repetición una sola vez.

range() te da una serie de números

La misma idea con for
for numero in range(1, 5):
    print("Paso", numero)

Puedes leerlo así: «para cada numero desde 1 hasta antes de 5, muestra el paso». La salida usa 1, 2, 3 y 4.

Detalle que suele sorprender: el segundo número de range(1, 5) no se incluye. Por eso termina en 4.

Visualiza las vueltas

No intentes imaginar el bucle como algo que ocurre «todo a la vez». Piensa en cuatro momentos:

  1. numero vale 1 → se ejecuta el bloque.
  2. numero vale 2 → se ejecuta otra vez.
  3. numero vale 3 → otra vuelta.
  4. numero vale 4 → última vuelta y termina.

El bloque indentado es lo que se repite

Dentro y fuera del bucle
for numero in range(1, 4):
    print(numero)
    print("siguiente")

print("fin")

Las dos líneas indentadas se ejecutan en cada vuelta. print("fin") está fuera del bloque y se ejecuta una sola vez al terminar el bucle.

for no significa “contar”: significa recorrer

range() es solo una fuente de elementos. Un string también se puede recorrer directamente:

"PY"→letra = "P"→letra = "Y"

El programa está recorriendo números. Cámbialo para recorrer directamente las letras de "PY" y mostrar una por vuelta.

Salida esperada
P
Y
recorrido.py
La salida aparecerá aquí.

Necesito una pista
  • Lo que aparece después de in es el conjunto de elementos que vas a recorrer.
  • Puedes escribir for elemento in "PY":.
Ver una solución razonada
for elemento in "PY":
    print(elemento)
Recuperación para la lección 12

Cuando llegues a listas, volverás a esta misma idea con for elemento in lista. El bucle no cambia; cambia la colección que entrega los elementos.

Si sale una vuelta de más o de menos

Escribe a un lado los valores que esperas: 1, 2, 3, 4, 5. Después compara esa lista con los valores que genera tu range(). Los errores en los límites se vuelven mucho más fáciles de ver así.

No necesitas más para continuar

Si puedes explicar qué valores toma numero en range(2, 5) y distinguir qué líneas están dentro del bucle, ya tienes el fundamento.