Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Control de Emergencia (break y continue)

Fig. 8.4: break detiene la cinta; continue salta la caja.

A veces la línea de ensamblaje necesita intervención manual. No todo bucle debe correr hasta el final; hay momentos en que seguir revisando cajas es un desperdicio de tiempo o, peor, un error. Para eso Python nos da dos botones rojos de emergencia.

1. El Botón de Parada de Emergencia (break)

Rompe el bucle inmediatamente. El robot se detiene, suelta lo que tiene en la mano y se va. Se usa cuando ya encontraste lo que buscabas y revisar el resto de la estantería no aporta nada.

caja_perdida = "ID-99"
estanteria = ["ID-10", "ID-55", "ID-99", "ID-100"]

for caja in estanteria:
    if caja == caja_perdida:
        print("¡La encontré!")
        break  # <--- STOP. No revises ID-100.

2. El Botón de “Saltar Este” (continue)

No corta la línea. El robot simplemente ignora el artículo defectuoso de turno y pasa al siguiente sin chistar. La diferencia con break es clave: el bucle sigue vivo, solo saltamos una iteración.

# Imprimir solo números pares
for i in range(10):
    if i % 2 != 0:
        continue  # <--- Salta los impares
    print(i)

¡Ojo!: en bucles anidados, break detiene solo el bucle donde vive, no toda la maquinaria. Si una cinta recorre pasillos y dentro de cada pasillo otra cinta revisa cajas, el break de las cajas no frena el recorrido de pasillos:

for pasillo in ["A", "B"]:
    for caja in [1, 2, 3]:
        if caja == 2:
            break
    print(f"Pasillo {pasillo} revisado")

Antes de correrlo, predice: ¿se imprimen los dos pasillos, o el break corta también el bucle exterior?

Se imprimen los dos: Pasillo A revisado y Pasillo B revisado. El break detiene solo el bucle donde vive (el de las cajas); la caja 3 nunca se revisa, pero el recorrido de pasillos sigue de largo. Frenar el bucle exterior desde adentro requiere otra cosa (una bandera, o mejor, un return cuando llegues a las funciones del Capítulo 9).