Introducción
En este laboratorio (lab), aprenderás cómo determinar si un bucle en Python se interrumpió prematuramente utilizando diferentes técnicas. El laboratorio se centra en comprender la instrucción break y cómo se puede utilizar para salir de un bucle basado en una condición específica.
Explorarás dos métodos: establecer una variable bandera (flag variable) antes de interrumpir y detectar la finalización con la cláusula else. El primer método implica inicializar una variable bandera y establecerla en True cuando se ejecuta la instrucción break. El segundo método aprovecha la cláusula else, que se ejecuta solo si el bucle se completa normalmente sin encontrar una instrucción break. Al final de este laboratorio, podrás comprobar de manera efectiva si un bucle se interrumpió en Python y manejar diferentes escenarios en consecuencia.
Comprender la instrucción break
En este paso, aprenderás sobre la instrucción break en Python. La instrucción break se utiliza para salir de un bucle de forma prematura. Esto puede ser útil cuando deseas detener la iteración de un bucle basado en una determinada condición.
Comencemos creando un archivo de Python llamado break_example.py en tu directorio ~/project utilizando el editor VS Code.
## Filename: break_example.py
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for number in numbers:
if number > 5:
break ## Exit the loop when number is greater than 5
print(number)
En este código:
- Tenemos una lista de números del 1 al 10.
- Iteramos a través de la lista utilizando un bucle
for. - Dentro del bucle, verificamos si el
numberactual es mayor que 5. - Si el número es mayor que 5, utilizamos la instrucción
breakpara salir del bucle. - De lo contrario, imprimimos el
numberactual.
Ahora, ejecutemos el script utilizando el siguiente comando en la terminal:
python break_example.py
Deberías ver la siguiente salida:
1
2
3
4
5
Como puedes ver, el bucle dejó de ejecutarse cuando se encontró el número 6 porque es mayor que 5. La instrucción break hizo que el bucle terminara en ese punto.
La instrucción break se puede utilizar tanto en bucles for como en bucles while. Proporciona una forma de salir de un bucle basado en una condición específica, lo que te permite controlar el flujo de tu programa.
Establecer una bandera (flag) antes de romper el bucle
En este paso, aprenderás cómo utilizar una variable bandera (flag variable) para indicar si se ha ejecutado una instrucción break dentro de un bucle. Esto puede ser útil cuando necesitas saber si un bucle se completó por completo o fue interrumpido.
Creemos un archivo de Python llamado flag_example.py en tu directorio ~/project utilizando el editor VS Code.
## Filename: flag_example.py
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
found = False ## Initialize a flag variable
for number in numbers:
if number > 5:
found = True ## Set the flag to True when number is greater than 5
break ## Exit the loop
print(number)
if found:
print("Found a number greater than 5")
else:
print("No number greater than 5 was found")
En este código:
- Inicializamos una variable booleana
foundenFalse. Esta variable actuará como nuestra bandera (flag). - Iteramos a través de la lista de números.
- Si encontramos un número mayor que 5, establecemos
foundenTruey luego salimos del bucle conbreak. - Después del bucle, verificamos el valor de
found. Si esTrue, significa que encontramos un número mayor que 5 y salimos del bucle. De lo contrario, significa que el bucle se completó sin encontrar ningún número mayor que 5.
Ahora, ejecutemos el script utilizando el siguiente comando en la terminal:
python flag_example.py
Deberías ver la siguiente salida:
1
2
3
4
5
Found a number greater than 5
Ahora, modifiquemos la lista numbers para que no incluya ningún número mayor que 5:
## Filename: flag_example.py
numbers = [1, 2, 3, 4, 5]
found = False ## Initialize a flag variable
for number in numbers:
if number > 5:
found = True ## Set the flag to True when number is greater than 5
break ## Exit the loop
print(number)
if found:
print("Found a number greater than 5")
else:
print("No number greater than 5 was found")
Ejecutemos el script nuevamente:
python flag_example.py
Deberías ver la siguiente salida:
1
2
3
4
5
No number greater than 5 was found
Este ejemplo demuestra cómo se puede utilizar una variable bandera (flag variable) para rastrear si se ejecutó una instrucción break, lo que te permite tomar diferentes acciones según si el bucle se completó por completo o fue interrumpido.
Detectar la finalización con la cláusula else
En este paso, aprenderás cómo utilizar la cláusula else con un bucle for para detectar si el bucle se completó sin encontrar una instrucción break. Esto puede ser una forma limpia y elegante de ejecutar código solo cuando un bucle finaliza normalmente.
Creemos un archivo de Python llamado else_example.py en tu directorio ~/project utilizando el editor VS Code.
## Filename: else_example.py
numbers = [1, 2, 3, 4, 5]
for number in numbers:
if number > 5:
print("Found a number greater than 5")
break
print(number)
else:
print("No number greater than 5 was found")
En este código:
- Iteramos a través de la lista de números.
- Si encontramos un número mayor que 5, imprimimos un mensaje y salimos del bucle con
break. - La cláusula
elseestá asociada con el buclefor. Se ejecutará solo si el bucle se completa sin encontrar una instrucciónbreak.
Ahora, ejecutemos el script utilizando el siguiente comando en la terminal:
python else_example.py
Deberías ver la siguiente salida:
1
2
3
4
5
No number greater than 5 was found
La cláusula else se ejecutó porque el bucle se completó sin encontrar ningún número mayor que 5.
Ahora, modifiquemos la lista numbers para que incluya un número mayor que 5:
## Filename: else_example.py
numbers = [1, 2, 3, 4, 5, 6]
for number in numbers:
if number > 5:
print("Found a number greater than 5")
break
print(number)
else:
print("No number greater than 5 was found")
Ejecutemos el script nuevamente:
python else_example.py
Deberías ver la siguiente salida:
1
2
3
4
5
Found a number greater than 5
En este caso, la cláusula else no se ejecutó porque el bucle fue terminado por la instrucción break.
La cláusula else con un bucle for proporciona una forma concisa de ejecutar código cuando un bucle se completa normalmente, sin ser interrumpido por una instrucción break. Esto puede hacer que tu código sea más legible y fácil de entender.
Resumen
En este laboratorio (lab), aprendiste cómo utilizar la instrucción break en Python para salir de un bucle antes de tiempo basado en una condición específica. La instrucción break se puede utilizar tanto en bucles for como en bucles while para controlar el flujo de tu programa.
Además, exploraste cómo utilizar una variable bandera (flag variable) para rastrear si se ha ejecutado una instrucción break dentro de un bucle, lo que te permite determinar si el bucle se completó por completo o fue interrumpido.



