Bucles y control de flujo en Python: iterar sin perder control

Domina `for`, `while`, `range`, `break` y `continue` para repetir procesos de forma segura, legible y eficiente.

Un bucle es una estructura para repetir lógica sin duplicar código, pero debe diseñarse con criterio para no crear iteraciones infinitas o costosas.

`for` es ideal cuando iteras una colección o secuencia conocida; `while` cuando dependes de una condición que cambia en tiempo de ejecución.

`break` corta la iteración completa y `continue` salta solo la vuelta actual; usarlos bien mejora claridad y rendimiento.

`range()` genera secuencias enteras controladas y evita errores manuales de contadores.

  • Cuando conoces el número de iteraciones o trabajas con secuencias, `for` suele ser la opción más limpia.
  • `range(inicio, fin)` incluye inicio y excluye fin; entender esto evita errores de frontera (off-by-one).
  • Evita usar índices manuales si no son necesarios; iterar directamente valores suele ser más legible.
  • En revisiones de código, un `for` simple y bien nombrado comunica mucho mejor que lógica de contador dispersa.
  • `while` es potente, pero exige una condición de salida explícita.

1) `for` + `range`: iteración predecible

Cuando conoces el número de iteraciones o trabajas con secuencias, `for` suele ser la opción más limpia.

`range(inicio, fin)` incluye inicio y excluye fin; entender esto evita errores de frontera (off-by-one).

Evita usar índices manuales si no son necesarios; iterar directamente valores suele ser más legible.

En revisiones de código, un `for` simple y bien nombrado comunica mucho mejor que lógica de contador dispersa.

2) `while`: repetir hasta que cambie una condición

`while` es potente, pero exige una condición de salida explícita.

Un `while` sin actualización de estado puede quedarse infinito. Siempre revisa qué variable acerca el bucle a su final.

Es útil para reintentos, lectura continua de entradas o procesos que terminan por evento.

Si el número de iteraciones ya es conocido, `for` suele ser preferible por claridad.

3) `break` y `continue` para control fino

Estas sentencias mejoran legibilidad cuando expresan claramente intención de corte o salto.

Usa `break` cuando ya encontraste lo que buscabas y seguir iterando no aporta valor.

Usa `continue` para omitir casos inválidos o no relevantes y mantener el flujo principal limpio.

Abusar de múltiples `break/continue` anidados puede dificultar lectura; en ese caso extrae lógica a funciones.

Python
05

Bucles y control de flujo en Python: iterar sin perder control

Domina `for`, `while`, `range`, `break` y `continue` para repetir procesos de forma segura, legible y eficiente.

Código del tema: Automatizacion y codigo legible en Python

📘 Teoría

1) `for` + `range`: iteración predecible

Cuando conoces el número de iteraciones o trabajas con secuencias, `for` suele ser la opción más limpia.

1

`range(inicio, fin)` incluye inicio y excluye fin; entender esto evita errores de frontera (off-by-one).

2

Evita usar índices manuales si no son necesarios; iterar directamente valores suele ser más legible.

3

En revisiones de código, un `for` simple y bien nombrado comunica mucho mejor que lógica de contador dispersa.

Rango controlado del 1 al 5
for n in range(1, 6):
    print(f'Iteración {n}')

2) `while`: repetir hasta que cambie una condición

`while` es potente, pero exige una condición de salida explícita.

1

Un `while` sin actualización de estado puede quedarse infinito. Siempre revisa qué variable acerca el bucle a su final.

2

Es útil para reintentos, lectura continua de entradas o procesos que terminan por evento.

3

Si el número de iteraciones ya es conocido, `for` suele ser preferible por claridad.

Contador descendente seguro
intentos = 3

while intentos > 0:
    print(f'Intentos restantes: {intentos}')
    intentos -= 1

print('Fin del proceso')

3) `break` y `continue` para control fino

Estas sentencias mejoran legibilidad cuando expresan claramente intención de corte o salto.

Usa `break` cuando ya encontraste lo que buscabas y seguir iterando no aporta valor.

Usa `continue` para omitir casos inválidos o no relevantes y mantener el flujo principal limpio.

Abusar de múltiples `break/continue` anidados puede dificultar lectura; en ese caso extrae lógica a funciones.

1

Corte anticipado con `break`

Detener búsqueda en cuanto se encuentra coincidencia.

2

Salto de casos con `continue`

Ignorar valores que no cumplen condición de proceso.

🧪 Aprende probando

Ejemplo Ejemplo: procesar pedidos válidos Combina `for` y `continue` para filtrar y procesar solo datos útiles.

🏁 Retos

Reto Reto: corrige el rango para iterar 1..5 Ajusta el `range` para cubrir exactamente del 1 al 5.

🧰 Recursos

¿Qué es esto?

Soy Cristian Eslava y a veces hago webs para procrastinar yo y vosotros 😉.

Esta la hice en febrero de 2026 para facilitar el aprendizaje de mis alumnxs. Aprender desarrollo web practicando. La idea es que crezca semanalmente con nuevos temas, tests y retos.

Inspirado en MDN, en W3Schools, en Codepen, en el crack de Manz y en mil sitios de documentación sobre desarrollo web. Quería aportar además de bloques teóricos con ejemplos, la gamificación de los retos y el sistema de test que ya tenía en culTest .

Si te gustó, si no te gustó, si quieres saludarme, o invitarme a 🍻 no dudes en escribirme en cristianeslava@gmail.com .