Aprende Python · lección gratuita

Lección 08 · El bucle while

Resumen

El bucle while repite un bloque de código mientras una condición sea verdadera. A diferencia de un if (que evalúa una sola vez), el while vuelve a comprobar la condición en cada vuelta y solo se detiene cuando esta pasa a ser False. Es la herramienta ideal cuando no sabes de antemano cuántas repeticiones harás, pero sí sabes bajo qué condición debes parar.

Conceptos

El bucle while se lee casi como en lenguaje natural: "mientras se cumpla esto, haz aquello". Antes del bucle inicializas una variable; dentro del bucle haces el trabajo y, muy importante, modificas esa variable para que la condición termine cumpliéndose como False. Si olvidas ese paso, el bucle se repite para siempre.

i = 1
while i <= 3:
    print("Vuelta", i)
    i = i + 1   # sin esta línea, ¡bucle infinito!
print("Fin")

Un patrón muy frecuente es el acumulador: una variable que empieza en un valor neutro (0 para sumar, "" para concatenar) y va creciendo en cada vuelta. También puedes usar break para salir del bucle cuando se cumple una condición especial, o continue para saltarte el resto de la vuelta actual sin terminar el bucle.

suma = 0
n = 1
while n <= 5:
    suma = suma + n   # acumulamos
    n += 1
print(suma)           # 1+2+3+4+5 = 15

Ejemplos

# 1) Contador descendente (cuenta regresiva)
n = 3
while n > 0:
    print(n)
    n -= 1
print("¡Despegue!")

# 2) Acumulador: sumar los primeros 4 números
suma = 0
i = 1
while i <= 4:
    suma += i
    i += 1
print("Suma:", suma)   # 10

# 3) break: parar al encontrar el primer múltiplo de 7
x = 1
while x < 100:
    if x % 7 == 0:
        print("Primer múltiplo:", x)
        break
    x += 1

# 4) continue: imprimir solo los impares del 1 al 6
k = 0
while k < 6:
    k += 1
    if k % 2 == 0:
        continue
    print(k)
💡 Asegura siempre el avance. Antes de ejecutar un while, verifica que dentro del bucle haya una línea que acerque la condición a False (un i += 1, un cambio de bandera, etc.). Así evitas bucles infinitos.

Cheatsheet

SintaxisQué hace
while cond:Repite el bloque mientras cond sea True
i = i + 1 / i += 1Avanza el contador (evita bucle infinito)
total += valorAcumulador (suma valores)
texto += piezaAcumulador de cadenas (concatena)
breakSale del bucle inmediatamente
continueSalta a la siguiente vuelta
while True: ... breakBucle controlado con salida por break

---

← Operadores lógicos: and, or, notEl bucle for y range() →

Ver todas las lecciones de Aprende Python →