Aprende Python · lección gratuita

Lección 10 · break, continue y else en bucles

Resumen

Hasta ahora los bucles for y while recorrían todos sus elementos de principio a fin. Con break, continue y la cláusula else del bucle puedes controlar ese flujo con precisión: salir antes de tiempo, saltarte una vuelta o ejecutar código solo si el bucle terminó sin interrupciones.

Conceptos

break termina el bucle inmediatamente. En cuanto Python lo ejecuta, abandona el bucle y continúa con la primera línea que haya después de él. Es ideal para búsquedas: cuando ya encontraste lo que buscabas, no tiene sentido seguir recorriendo.

continue, en cambio, no sale del bucle: simplemente ignora todo el código que falte en esa iteración y vuelve al principio del bucle para la siguiente vuelta. Sirve para filtrar casos que no quieres procesar.

La parte menos conocida es la cláusula else de un bucle. A diferencia del else de un if, este else va pegado a un for o un while y se ejecuta cuando el bucle se agota normalmente. Si un break interrumpe el bucle, el else se salta. Esto es perfecto para preguntar "recorrí todo y no encontré nada".

numeros = [4, 7, 9, 12]
for n in numeros:
    if n % 2 == 0:
        print("Encontré un par:", n)
        break
else:
    print("No había ningún par")

Ejemplos

# break: detener al encontrar el primer múltiplo de 5
for n in range(1, 100):
    if n % 5 == 0:
        print("Primer múltiplo de 5:", n)
        break  # sale del for

# continue: imprimir solo los impares saltando los pares
for n in range(1, 7):
    if n % 2 == 0:
        continue  # salta el print de los pares
    print(n)

# for...else: el else corre porque NO hubo break
for letra in "abc":
    print(letra)
else:
    print("Recorrido completo")

# while con break: cortar cuando se cumple una condición
contador = 0
while True:
    contador += 1
    if contador == 3:
        break
print("Salí en", contador)
💡 Recuerda que el else del bucle solo tiene sentido si dentro hay un break. Si no usas break, ese else siempre se ejecuta y solo añade confusión.

Cheatsheet

InstrucciónQué haceDónde se usa
breakSale del bucle de inmediatofor y while
continueSalta al inicio de la siguiente iteraciónfor y while
for ... else:El else corre si NO hubo breaktras un for
while ... else:El else corre si NO hubo breaktras un while
break en anidadosSolo rompe el bucle internobucles anidados
while True: ... breakBucle infinito con salida controladawhile

---

← El bucle for y range()Listas: crear y recorrer →

Ver todas las lecciones de Aprende Python →