Avancerad Pythonutvecklingskurs
Kapitel
>
Nivå
Avancerade klasser
Jämförelseöverlagring
Mål
Kontrollera och märk försändelser korrekt genom att använda jämförelseöverlagring.
Fraktdocken har några vinfat som är redo att tas ut till butiker, men som sedan måste märkas och förberedas så att arbetare kan plocka ut dem och skicka dem utan problem. För att göra detta måste du använda jämförelseöverlagring, liknande operatoröverlagring som du lärde dig i föregående kapitel, där du överlagrar en klass, denna gång med jämförelseoperatorer.
Det finns tre (3) beställningar i dokken, var och en med två (2) fat. Varje beställning har en skylt avsedd att visa viktförhållandet mellan faten i beställningen. Det finns en klass i redigeraren med namnet barrel som låter dig använda jämförelseöverlagring. Det finns även tre (3) funktioner förberedda i redigeraren: less_than(), greater_than() och equal_to(). Dessa funktioner används för att ange viktförhållandet på skyltarna.
Börja med att gå till de mörka och ljusa X-märkena på de röda mattorna och möt faten. Använd funktionen read() för att fastställa namnet på vinet i fatet samt fatets vikt, på följande vis: await player.read().
Skapa objekt för de mörka och ljusa faten genom att använda klassen barrel och lägg till den information du hämtar från funktionen read(). När objekten är skapade, skapa ett annat objekt som jämför de två objekten. Som exempel:
red_barrel_dark = barrel("Wine name", 000) red_barrel_light = barrel("Wine name", 000) red_barrel_compare = red_barrel_dark < red_barrel_light
Var noga med att skriva namnet på vinet i fatklassobjektet exakt som det visas i meddelandet när du använder read().
Skapa objekten med hjälp av namnkonventionerna enligt mattan och X-märkets färg. För den röda mattan, när du jämför faten, använd operatorn < för att kontrollera om det mörka fatet har lägre vikt än det ljusa fatet. För att avsluta denna del, gå till det gyllene X-märket över den röda mattan och möt skylten. Använd funktionen less_than() med jämförelseobjektet för att visa fettens viktförhållande, på följande vis: less_than(red_barrel_compare).
Gå sedan till de mörka och ljusa X-märkena över den gröna mattan och upprepa samma process. Använd funktionen read() på de mörka och ljusa X-märkena och skapa motsvarande objekt med den informationen. För det gröna mattans jämförelseobjekt använder vi denna gång operatorn > för att kontrollera om det mörka fatet väger mer än det ljusa fatet. Gå till det gyllene X-märket över den gröna mattan och möt skylten. Använd funktionen greater_than() med jämförelseobjektet för att visa fettens viktförhållande, på följande vis: greater_than(green_barrel_compare).
Gå till de mörka och ljusa X-märkena över den blå mattan och upprepa samma process. Använd funktionen read() på de mörka och ljusa X-märkena och skapa motsvarande objekt med den informationen. För det blå mattans jämförelseobjekt använder vi denna gång operatorn == för att kontrollera om det mörka fatet har samma vikt som det ljusa fatet. Gå till det gyllene X-märket över den blå mattan och möt skylten. Använd funktionen equal_to() med jämförelseobjektet för att visa fettens viktförhållande, på följande vis: equal_to(blue_barrel_compare).
När alla beställningar har märkts, gå till det gyllene X-märket över den orange mattan vid hamnens utgång. Möt skylten och använd funktionen write() för att skriva ner vad som finns på varje beställning; skriv namnen på faten enligt de objekt du skapade, till exempel när det gäller de röda mattans fat: red_barrel_dark.name , red_barrel_light.name. Gör detta för alla sex fat för att slutföra nivån.