Curso Avanzado de Desarrollo en Python
Capítulo
>
Nivel
Clases Avanzadas
Sobrecarga de Comparación
Objetivo
Revisa y etiqueta correctamente los envíos usando Sobrecarga de Comparación.
El muelle de carga tiene algunos barriles de vino que están listos para ser llevados a las tiendas, sin embargo, necesitan ser etiquetados y preparados para que los trabajadores puedan identificarlos y enviarlos sin problemas. Para hacer esto, debes usar la Sobrecarga de Comparación, similar a la Sobrecarga de Operadores aprendida en el capítulo anterior; debes sobrecargar una clase, esta vez con operadores de comparación.
Hay tres (3) pedidos en el muelle, cada uno con dos (2) barriles. Cada pedido tiene un cartel destinado a detallar la proporción de peso de los barriles en el pedido. Existe una clase definida en el editor llamada barrel que te permite usar la Sobrecarga de Comparación. También hay tres (3) funciones configuradas en el editor: less_than(), greater_than(), equal_to(). Estas funciones se utilizan para documentar la proporción de peso en los carteles.
Comienza caminando hacia las marcas de X oscuras y claras en las alfombras rojas y enfrenta los barriles; usa la función read() para determinar el nombre del vino en el barril, así como el peso del barril, de esta manera: await player.read().
Crea objetos para los barriles oscuros y claros, utilizando la clase barrel, y añade la información que identifiques con la función read(). Una vez creados los objetos, crea otro objeto que compare ambos. Como ejemplo:
red_barrel_dark = barrel("Wine name", 000) red_barrel_light = barrel("Wine name", 000) red_barrel_compare = red_barrel_dark < red_barrel_light
Asegúrate de escribir el nombre del vino en el objeto de la clase barrel exactamente como se muestra en el mensaje cuando usas read().
Crea los objetos utilizando las convenciones de nombres de acuerdo con la alfombra y la marca X de color. Para la alfombra roja, al comparar los barriles usa el operador < para verificar si el barril oscuro tiene un peso menor que el barril claro. Para finalizar este segmento, camina hacia la marca X dorada sobre la alfombra roja y enfrenta el cartel. Usa la función less_than() con el objeto de comparación para trazar la proporción de peso de los barriles, de esta manera: less_than(red_barrel_compare) .
Luego, camina hacia las marcas X oscuras y claras sobre la alfombra verde y repite el mismo proceso. Utiliza la función read() en las marcas X oscuras y claras y crea objetos correspondientes con esa información. Para el objeto de comparación de la alfombra verde, esta vez usaremos el operador > para verificar si el barril oscuro tiene un peso mayor que el barril claro. Camina hacia la marca X dorada sobre la alfombra verde y enfrenta el cartel. Usa la función greater_than() con el objeto de comparación para trazar la proporción de peso de los barriles, de esta manera: greater_than(green_barrel_compare) .
Camina hacia las marcas X oscuras y claras sobre la alfombra azul y repite el mismo proceso. Utiliza la función read() en las marcas X oscuras y claras y crea objetos correspondientes con esa información. Para el objeto de comparación de la alfombra azul, esta vez usaremos el operador == para verificar si el barril oscuro tiene un peso igual al del barril claro. Camina hacia la marca X dorada sobre la alfombra azul y enfrenta el cartel. Usa la función equal_to() con el objeto de comparación para trazar la proporción de peso de los barriles, de esta manera: equal_to(blue_barrel_compare) .
Una vez que todos los pedidos hayan sido etiquetados, camina hacia la marca X dorada sobre la alfombra naranja en la salida del muelle. Enfrenta el cartel y usa la función write() para anotar lo que contiene cada pedido, escribe los nombres de cada uno de los barriles según los objetos que creaste, por ejemplo, en lo que respecta a los barriles de la alfombra roja: red_barrel_dark.name , red_barrel_light.name . Haz esto para los seis barriles para completar el nivel.