Bucles while en Python: condiciones, break y continue

Clase 20 de 32Curso de Fundamentos de Python

Resumen

Aprende a dominar el bucle while en Python con ejemplos claros y prácticos. Verás cómo controlar la condición, cortar la ejecución con break, saltar iteraciones con continue y aprovechar el else del while. Todo con código mínimo y explicaciones directas para evitar errores comunes como el bucle infinito.

¿Qué es el bucle while en Python y cómo funciona?

El bucle while repite instrucciones mientras una condición sea verdadera. La idea básica: iniciar una variable de control, evaluar la condición y actualizar el estado en cada vuelta para no quedar atrapados.

  • Repite mientras la condición sea verdadera.
  • Usa un contador o estado, por ejemplo i.
  • Actualiza el valor dentro del bucle con i += 1.
  • Evita el bucle infinito controlando la condición y el incremento.

¿Cómo contar del 1 al 9 y del 1 al 10?

# 1 a 9
i = 1
while i < 10:
    print(i)
    i += 1

Cambia la condición para incluir el 10:

# 1 a 10
i = 1
while i <= 10:
    print(i)
    i += 1

¿Cómo afecta el orden de print e incremento?

Mover el incremento antes del print cambia los resultados:

# Imprime de 2 a 11 por el orden de las instrucciones
i = 1
while i <= 10:
    i += 1
    print(i)

Ajusta la condición para contar correctamente del 1 al 10 con incremento antes del print:

# 1 a 10 con incremento antes del print
i = 0
while i < 10:
    i += 1
    print(i)

¿Cómo controlar el flujo con break y continue?

Controlar el flujo evita ejecuciones innecesarias y casos límite. Con break sales del bucle; con continue saltas a la siguiente iteración sin ejecutar lo que sigue.

  • Operador relacional == para comparar valores.
  • Sentencia break: detiene la repetición.
  • Sentencia continue: salta la iteración actual.
  • Cuidado con el orden para evitar bucles infinitos.

¿Cómo salir del bucle con break?

# Imprime 1 a 5 y se detiene
i = 1
while i <= 10:
    print(i)
    if i == 5:
        break
    i += 1

Si evalúas la condición antes del print, el 5 no se imprime porque el break ocurre antes del print:

# Imprime 1 a 4, no imprime 5
i = 1
while i <= 10:
    if i == 5:
        break
    print(i)
    i += 1

¿Cómo saltar un valor con continue sin romper el bucle?

Caso correcto: incrementa antes de verificar y saltar el 5.

# Imprime 1, 2, 3, 4, 6, 7, 8, 9, 10 (saltea el 5)
i = 0
while i < 10:
    i += 1
    if i == 5:
        continue
    print(i)

Caso problemático: usar continue antes de incrementar produce bucle infinito cuando i == 5, porque i nunca cambia.

# Ejemplo a evitar: bucle infinito si i == 5
i = 1
while i <= 10:
    if i == 5:
        continue  # i no se incrementa y la condición nunca cambia
    print(i)
    i += 1

¿Cómo sumar de a dos y por qué no se llega al 5?

# Suma en pasos de 2: 2, 4, 6, 8, 10
i = 0
while i <= 10:
    i += 2
    print(i)

Como solo recorre números pares, nunca alcanza 5 y una condición if i == 5 no se cumple.

¿Qué rol cumple else en while y qué mensajes muestra?

El bloque else del while se ejecuta solo cuando el bucle termina porque la condición dejó de ser verdadera, no por un break. Es útil para mostrar un estado final.

i = 0
while i < 10:
    i += 1
    if i == 5:
        continue
    print(i)
else:
    print('i dejó de ser menor a diez')
  • El else confirma que el bucle terminó de forma natural.
  • El mensaje final indica el motivo: condición ya no verdadera.
  • Con break, el else no se ejecuta.

¿Tienes dudas o quieres proponer un reto con while, break, continue o else? Deja tu comentario y seguimos aprendiendo juntos.