Curso Avanzado de Desarrollo en Python
Capítulo
>
Nivel
Async/Await
Leyendo Mensajes
Objetivo
Verificar que los números de artículos en la bodega de vinos sean correctos utilizando la función read() y contabilizar el stock sobrante.
La bodega tiene varias cajas con botellas de vino, estas están listas para ser trasladadas al piso de arriba para su distribución. En el almacén, las mesas tendrán notas con los pedidos, y junto a ellas habrá cajas que contienen las botellas. Necesitas verificar que el número de botellas en cada caja coincida con el de las notas y complementar cualquier artículo faltante.
Primero, toma las botellas sueltas que están en la sala de vinos para que las tengas listas para complementar cualquier artículo faltante de los pedidos. Hay tres (3) tipos de botellas de vino, una vez recolectadas, crea variables para ellas de la siguiente manera: empty_bottles, purple_bottles, yellow_bottles y almacena el número que has recolectado de cada una en las variables.
Una vez que reclames todas las botellas en el campo, ve a las marcas de luz X dentro del almacén y mira las notas. Usa la función read() para leer la información del pedido en la nota al activar una ventana emergente. Similar a la función write(), la función read() es una función async que requiere await antes de que se escriba el código, como esto: await player.read().
Las notas están codificadas por colores según las alfombras bajo ellas, una vez que te enteres de los números de pedido, ve a las marcas oscuras X frente a las cajas codificadas por colores y usa la función speak() para revisar el contenido de cada caja. Hay tres (3) constantes correspondientes a cada una de las cajas: green_crate, blue_crate y red_crate.
Verifica que el contenido de cada caja coincida con la nota de la alfombra del color correspondiente. Si hay artículos faltantes en las cajas que se mencionan en la nota, agrégalos a las cajas correspondientes. Crea las variables: empty_missing, purple_missing y yellow_missing y agrega el número de cada uno que falte al contenido de las cajas.
Una vez que las variables estén configuradas, utiliza la función place() para añadir las botellas faltantes a las cajas, por ejemplo: player.place(empty_missing). Después de configurar todos los artículos, dirígete a la marca X dorada y write() un conteo de todas las botellas sobrantes que no se almacenaron.
Un borrador del mensaje se escribirá en el editor de código, establece las cantidades correctas de cada una de las botellas sobrantes que no almacenaste restando las dos variables que creaste, por ejemplo: empty_bottles-empty_missing. Una vez que todos los artículos restantes hayan sido contados, habrás completado el nivel.