Establece una variable bandera (flag variable) para seguir la finalización
En este paso, aprenderás cómo usar una variable bandera (flag variable) para seguir la finalización de una tarea dentro de un bucle. Una variable bandera es una variable booleana (ya sea True
o False
) que indica si se ha cumplido una determinada condición. Esta es una técnica común para controlar el flujo de un programa.
Consideremos un escenario en el que deseas buscar un número específico en una lista y detener el bucle tan pronto como lo encuentres. Crea un archivo llamado flag_example.py
en tu directorio ~/project
utilizando el editor VS Code.
## flag_example.py
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
target = 5
found = False ## Inicializa la variable bandera
for number in numbers:
print(f"Checking number: {number}")
if number == target:
found = True
print(f"Found the target: {target}")
break ## Sale del bucle
if found:
print("Target found in the list.")
else:
print("Target not found in the list.")
En este código, inicializamos una variable bandera llamada found
en False
. El bucle itera a través de la lista numbers
. Si el número actual es igual al target
, establecemos found
en True
, imprimimos un mensaje y salimos del bucle utilizando la declaración break
. Después del bucle, verificamos el valor de found
. Si es True
, imprimimos un mensaje que indica que se encontró el objetivo. De lo contrario, imprimimos un mensaje que indica que no se encontró el objetivo.
Para ejecutar este script, abre tu terminal en VS Code y ejecuta el siguiente comando:
python flag_example.py
Deberías ver la siguiente salida:
Checking number: 1
Checking number: 2
Checking number: 3
Checking number: 4
Checking number: 5
Found the target: 5
Target found in the list.
Observa que el bucle se detiene tan pronto como se encuentra el número objetivo (5). La declaración break
sale del bucle, evitando iteraciones adicionales.
Ahora, modifiquemos el script para buscar un número que no está en la lista. Cambia la variable target
a 15:
## flag_example.py
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
target = 15
found = False ## Inicializa la variable bandera
for number in numbers:
print(f"Checking number: {number}")
if number == target:
found = True
print(f"Found the target: {target}")
break ## Sale del bucle
if found:
print("Target found in the list.")
else:
print("Target not found in the list.")
Ejecuta el script nuevamente:
python flag_example.py
Deberías ver la siguiente salida:
Checking number: 1
Checking number: 2
Checking number: 3
Checking number: 4
Checking number: 5
Checking number: 6
Checking number: 7
Checking number: 8
Checking number: 9
Checking number: 10
Target not found in the list.
En este caso, el bucle itera a través de toda la lista sin encontrar el número objetivo. La variable found
permanece en False
, y se imprime el mensaje "Target not found in the list."
Usar una variable bandera es una forma sencilla y efectiva de seguir la finalización de una tarea dentro de un bucle. Esta técnica es útil en muchos escenarios diferentes, como buscar un elemento en una lista, validar la entrada del usuario o procesar datos de un archivo.