certmundo.
es‑mx

6 min de lectura

¿Cómo repetir tareas automáticamente con ciclos?

Los ciclos le dicen al programa que repita una acción muchas veces sin que tú escribas el mismo código una y otra vez.

¿Sabías que una tienda de Liverpool puede tener más de 10,000 productos en su inventario? Imagina tener que revisar el precio de cada uno a mano. Un ciclo puede hacerlo en segundos.

El problema de repetir código a mano

Antes de aprender ciclos, piensa en esto. Sofía trabaja en el área de tecnología de una empresa distribuidora en Monterrey. Su jefe le pidió imprimir el nombre de cinco productos en pantalla.

Sofía escribió esto:

print("Leche")
print("Pan")
print("Agua")
print("Jugo")
print("Cereal")

Funcionó, pero su jefe dijo: "Ahora hazlo con 500 productos." Sofía se quedó paralizada. ¿Vas a escribir 500 líneas? Claro que no. Ahí es donde entra el ciclo.

¿Qué es un ciclo for?

El ciclo for repite una acción para cada elemento de una lista o secuencia.

La estructura básica es:

for variable in secuencia:
    acción

Nota los dos puntos (:) al final de la primera línea. Y nota la indentación de cuatro espacios antes de la acción. Son obligatorios, igual que en los condicionales.

Sofía reescribió su código así:

productos = ["Leche", "Pan", "Agua", "Jugo", "Cereal"]
for producto in productos:
    print(producto)

El resultado en pantalla fue:

Leche
Pan
Agua
Jugo
Cereal

Con una lista de 500 productos, el código sería exactamente igual. Solo cambia la lista. El ciclo hace el trabajo pesado.

El ciclo for con range()

A veces no tienes una lista de palabras. Solo quieres repetir algo un número fijo de veces. Para eso existe range().

range(5) genera los números 0, 1, 2, 3 y 4. Son cinco números, pero empieza desde cero. Esto es muy común en programación.

Carlos es desarrollador junior en una startup de CDMX que vende ropa en línea. Su tarea fue mostrar los primeros cinco números de un conteo de pedidos.

for numero in range(5):
    print(numero)

Resultado:

0
1
2
3
4

Si quieres que empiece en 1 y termine en 5, usa range(1, 6):

for numero in range(1, 6):
    print(numero)

Resultado:

1
2
3
4
5

Carlos usó esto para mostrar el número de orden de cada pedido del día. Limpio y rápido.

Un ejemplo real con cálculos

Ahora subamos el nivel un poco. Imagina que trabajas en el área de nómina de una empresa en Guadalajara. Tienes cinco empleados y debes calcular el 15% de bono sobre su salario base.

salarios = [18500, 22000, 15000, 27000, 13500]
for salario in salarios:
    bono = salario * 0.15
    print("Salario:", salario, "| Bono:", bono)

Resultado en pantalla:

Salario: 18500 | Bono: $2,775
Salario: 22000 | Bono: $3,300
Salario: 15000 | Bono: $2,250
Salario: 27000 | Bono: $4,050
Salario: 13500 | Bono: $2,025

Con un ciclo for, calculaste cinco bonos en tres líneas de código. Sin ciclo, necesitarías quince líneas.

¿Qué es un ciclo while?

El ciclo while repite una acción mientras una condición sea verdadera.

La estructura es:

while condición:
    acción

Es diferente al for. El for recorre una secuencia definida. El while sigue hasta que algo cambia.

Piensa en una alarma. Sigue sonando mientras no la apagues. El while funciona igual.

La historia de Rodrigo y el cajero automático

Rodrigo es programador en una fintech de Monterrey. Su equipo creó una simulación de cajero automático. El cajero debe pedir el PIN hasta que el usuario lo escriba bien.

pin_correcto = "4821"
pin_ingresado = ""
while pin_ingresado != pin_correcto:
    pin_ingresado = input("Ingresa tu PIN: ")
print("Acceso concedido.")

¿Qué hace este código? Repite la pregunta del PIN mientras el valor ingresado sea diferente al correcto. Cuando coinciden, sale del ciclo e imprime el mensaje.

Rodrigo mostró este programa en una demo interna. Su equipo lo aprobó en el primer intento. Un ciclo while bien usado puede resolver problemas reales en minutos.

Cuidado con el ciclo infinito

Esta es la trampa más común con while. Si la condición nunca se vuelve falsa, el programa nunca para.

Mira este ejemplo:

contador = 1
while contador > 0:
    print(contador)
    contador = contador + 1

contador empieza en 1 y siempre será mayor que 0. El programa nunca termina. Esto se llama ciclo infinito y congela tu programa.

Siempre pregúntate: ¿en qué momento la condición del while se vuelve falsa? Si no tienes respuesta clara, revisa tu código.

for vs while: ¿cuándo usar cada uno?

Situación Usa
Tienes una lista de elementos for
Sabes cuántas veces repetir for con range()
No sabes cuántas veces vas a repetir while
Esperas una respuesta del usuario while
Quieres recorrer números del 1 al 100 for con range()

En resumen: si sabes el límite, usa for. Si esperas que algo cambie, usa while.

Errores comunes al escribir ciclos

Error 1: Olvidar la indentación

for producto in productos:
print(producto)  # Error: falta sangría

Python requiere cuatro espacios antes de print. Sin ellos, el programa falla con IndentationError.

Error 2: Olvidar los dos puntos

for producto in productos  # Error: faltan los dos puntos
    print(producto)

Siempre termina la primera línea del ciclo con :.

Error 3: Modificar la lista mientras la recorres

Esto puede causar resultados inesperados. Evítalo hasta que tengas más experiencia.

Error 4: Ciclo while sin condición de salida

Ya lo vimos. Siempre asegúrate de que la condición del while eventualmente se vuelva falsa.

Un último ejemplo: el inventario de Bimbo

Ponemos todo junto. Imagina que eres analista de datos en una empresa de distribución de productos Bimbo. Tienes una lista de productos con su precio. Quieres mostrar solo los que cuestan más de $20.

productos = [
    ("Pan blanco", 28),
    ("Tortillas", 18),
    ("Donas", 35),
    ("Pan dulce", 15),
    ("Tostadas", 22)
]
for nombre, precio in productos:
    if precio > 20:
        print(nombre, "- $" + str(precio))

Resultado:

Pan blanco - $28
Donas - $35
Tostadas - $22

Combinaste un ciclo for con un condicional if. Eso es exactamente cómo se trabaja en el mundo real. Los ciclos y los condicionales casi siempre van juntos.

Lo que aprendiste hoy

Empezaste esta lección viendo cómo Sofía tenía que escribir el mismo código una y otra vez. Ahora sabes que eso tiene solución. Con ciclos, tú escribes poco y el programa trabaja mucho.

Usa for cuando conoces la secuencia. Usa while cuando esperas un cambio. Y siempre revisa que tu ciclo tenga una salida.

En la siguiente lección vas a aprender sobre funciones: bloques de código que puedes reutilizar cuando quieras. Es el siguiente paso para escribir programas más limpios y poderosos.

Puntos clave

  • El ciclo `for` repite una acción para cada elemento de una lista o secuencia. Úsalo cuando conoces cuántas veces repetir.
  • El ciclo `while` repite una acción mientras una condición sea verdadera. Úsalo cuando no sabes el número exacto de repeticiones.
  • Un ciclo infinito ocurre cuando la condición del `while` nunca se vuelve falsa. Siempre asegúrate de que el ciclo tenga una salida.
  • Puedes combinar ciclos `for` con condicionales `if` para filtrar o procesar solo los datos que necesitas.
  • La indentación de cuatro espacios y los dos puntos (`:`) al final de la primera línea son obligatorios en cualquier ciclo. Sin ellos, el programa falla.

Comparte esta lección:

¿Cómo repetir tareas automáticamente con ciclos? | Fundamentos de Programación: Aprende desde Cero | Certmundo