3.3 Bucle While y Control
El bucle While ("mientras") ejecuta un bloque de código una y otra vez siempre que la condición que le demos sea True. Es muy útil cuando no sabemos de antemano cuántas veces necesitaremos repetir algo.
1. La estructura While
Ten cuidado: si la condición nunca deja de ser verdadera, crearás un "bucle infinito" y el programa no parará nunca. Debemos asegurarnos de que algo cambie dentro del bucle.
distancia = 5
while distancia > 0:
print("Faltan " + str(distancia) + " metros para el contenedor...")
distancia = distancia - 1 # Reducimos la distancia
print("¡Has llegado a la Zona Cero!")
2. Un validador de códigos real
Este es el uso más común en herramientas de geocaching: preguntar una palabra clave hasta que el usuario acierte.
respuesta = ""
solucion = "PINO"
while respuesta != solucion:
respuesta = input("Introduce la palabra clave del cartel: ").upper()
if respuesta != solucion:
print("Error. ¡Sigue buscando en el tronco!")
print("¡CORRECTO! Las coordenadas finales son N 40... W 003...")
3. Interrumpir el bucle: Break
A veces queremos salir de un bucle inmediatamente si ocurre algo especial. Usamos la palabra break.
🧩 Reto: El número secreto
Copia este código en el área de la izquierda. Es un juego donde tienes que adivinar un número del 1 al 10. Si te cansas, escribe "0" para salir gracias al break:
secreto = 7
while True:
intento = int(input("Adivina el número (0 para rendirse): "))
if intento == secreto:
print("¡Increíble! Eres un gran geocacher.")
break
if intento == 0:
print("Te has rendido. El número era el 7.")
break
print("Prueba otra vez...")
Pulsa "Ejecutar" y comprueba cómo el programa se mantiene vivo en la consola derecha hasta que aciertas o sales.
