Introducción
Bienvenido al encantador mundo de Magic Seas, donde nuestro protagonista, el sabio Mariner Mage, está en una búsqueda para descubrir los secretos de los hechizos marinos antiguos. En medio de las aguas agitadas y las criaturas místicas, Mariner Mage necesita navegar a través de las islas, donde cada una contiene una pieza del rompecabezas arcano. Pero los mares son peligrosos y el camino por delante está nublado. Para cumplir con éxito su misión, Mariner Mage debe ser un experto en el arte de la magia de Python, en particular el hechizo de 'While Loops'.
Nuestro objetivo es ayudar a Mariner Mage a completar este épico viaje mediante el dominio del poder de los bucles while, asegurando que no queda ninguna isla sin explorar y se descubran todos los secretos. ¿Estás listo para levantar las velas y emprender este viaje de programación?
Levantando las Velas
En este paso, ayudarás a Mariner Mage a levantar las velas para su viaje. Para comenzar, crearás un hechizo (script) que verifique la dirección del viento todos los días utilizando un bucle while hasta que se encuentre la dirección perfecta del viento. Lo simularemos generando una dirección de viento aleatoria y probándola en nuestro bucle.
Edita el archivo /home/labex/project/wind_checker.py con tu editor favorito e inserta el siguiente código:
import random
## Define las direcciones del viento
posibles_direcciones = ["north", "south", "east", "west"]
## Establece la dirección perfecta como east
direccion_perfecta = "east"
## Inicia el bucle while
while True:
## Simula comprobar la dirección del viento
direccion_actual = random.choice(posibles_direcciones)
print(f"El viento sopla desde el {direccion_actual}.")
## Comprueba si la dirección del viento es perfecta
if direccion_actual == direccion_perfecta:
print("¡Ahoy! Viento perfecto para levantar las velas!")
break
else:
print("No es favorable para navegar. Vamos a comprobar de nuevo mañana.")
Ejecuta el script:
python wind_checker.py
Este script se ejecutará indefinidamente hasta que direccion_actual coincida con direccion_perfecta, que está establecida como "east". Cada vez que se ejecuta el bucle, simula esperar un nuevo día y comprobar de nuevo la dirección del viento.
La siguiente información debe mostrarse en tu terminal:
El viento sopla desde el north.
No es favorable para navegar. Vamos a comprobar de nuevo mañana.
El viento sopla desde el west.
No es favorable para navegar. Vamos a comprobar de nuevo mañana.
El viento sopla desde el east.
¡Ahoy! Viento perfecto para levantar las velas!
Recopilando Provisiones
En este paso, Mariner Mage necesita recopilar suficientes provisiones para el viaje. Lo simularemos creando un script provisions.py que utiliza un bucle while para contar la cantidad de provisiones recolectadas hasta que se alcanza la cantidad deseada.
Abre /home/labex/project/provisions.py y agrega el siguiente código:
## Cantidad de provisiones necesarias
provisiones_necesarias = 10
provisiones_recolectadas = 0
## Inicia el bucle while
while provisiones_recolectadas < provisiones_necesarias:
## Recopila provisiones
provisiones_recolectadas += 1
print(f"Provisiones recolectadas: {provisiones_recolectadas}")
print("Todas las provisiones necesarias recolectadas! Listo para zarpar.")
Ejecuta el script:
python provisions.py
Este código utilizará un bucle while para recopilar provisiones hasta que provisiones_recolectadas sea igual o mayor que provisiones_necesarias.
La siguiente información debe mostrarse en tu terminal:
Provisiones recolectadas: 1
Provisiones recolectadas: 2
Provisiones recolectadas: 3
Provisiones recolectadas: 4
Provisiones recolectadas: 5
Provisiones recolectadas: 6
Provisiones recolectadas: 7
Provisiones recolectadas: 8
Provisiones recolectadas: 9
Provisiones recolectadas: 10
Todas las provisiones necesarias recolectadas! Listo para zarpar.
Resumen
En este laboratorio, nuestro viaje siguió la historia del Mariner Mage emprendiendo un viaje mágico. A través de la creación de bucles while en Python, ayudaste al Mage a esperar el viento adecuado y a recopilar suficientes provisiones. Este enfoque narrativo tuvo como objetivo inculcar un sentido de aventura mientras se reforzaban los fundamentos de los bucles, se estimulaba la creatividad y se conectaba el código a una trama narrativa vívida.
Al imaginar los conceptos de programación como elementos mágicos dentro de una narrativa inmersiva, no solo hemos aprendido a controlar el flujo de nuestro código, sino que también hemos inspirado nuestras mentes a explorar posibilidades ilimitadas. El éxito del Mariner Mage es una reflexión de tu dominio sobre los bucles while, y este laboratorio es solo el comienzo de tu viaje pythoniano por los vastos mares de la programación. ¡Zarpa hacia adelante!



