Coding for KidsCoding for Kids
Livelli CreativiSfideGuida per Insegnanti
Vota per le funzionalità
Corso Avanzato di Sviluppo Python
Capitolo
>
Livello

Classi Avanzate
Sovraccarico dei confronti

Obiettivo

Controlla e etichetta le spedizioni correttamente utilizzando il Comparison Overloading.

La banchina di spedizione ha alcune botti di vino pronte per essere spedite ai negozi, ma devono essere poi etichettate e preparate in modo che gli operai possano individuarle e spedirle senza problemi. Per fare ciò, devi utilizzare il Comparison Overloading, simile all'Operator Overloading appreso nel capitolo precedente, devi sovraccaricare una classe, questa volta con operatori di confronto.

Ci sono tre (3) ordini nella banchina, ciascuno con due (2) botti. Ogni ordine ha un cartello destinato a indicare il rapporto di peso tra le botti dell'ordine. Nell'editor c'è una classe denominata barrel che ti permette di utilizzare il Comparison Overloading. Sono inoltre presenti tre (3) funzioni nell'editor: less_than(), greater_than(), equal_to(). Queste funzioni vengono utilizzate per documentare il rapporto di peso sui cartelli.

Inizia camminando verso i segni a X scuro e chiaro sui tappeti rossi e affronta le botti, usa la funzione read() per determinare il nome del vino nella botte così come il peso della botte, in questo modo: await player.read(). Crea oggetti per le botti scure e chiare, utilizzando la classe barrel, e aggiungi le informazioni che identifichi dalla funzione read(). Una volta creati gli oggetti, crea un altro oggetto che confronta entrambi. Per esempio:

red_barrel_dark = barrel("Wine name", 000) red_barrel_light = barrel("Wine name", 000) red_barrel_compare = red_barrel_dark < red_barrel_light

Assicurati di scrivere il nome del vino nell'oggetto della classe barrel esattamente come viene visualizzato nel messaggio quando usi read().

Crea gli oggetti utilizzando le convenzioni di denominazione in base al tappeto e al segno a X colore. Per il tappeto rosso, quando confronti le botti, usa l'operatore < per verificare se la botte scura ha un peso inferiore rispetto a quella chiara. Per completare questo segmento, cammina verso il segno a X dorato sul tappeto rosso e affronta il cartello. Utilizza la funzione less_than() con l'oggetto di confronto per rappresentare il rapporto di peso delle botti, in questo modo: less_than(red_barrel_compare).

Successivamente, cammina verso i segni a X scuro e chiaro sul tappeto verde e ripeti lo stesso processo. Usa la funzione read() sui segni a X scuro e chiaro e crea gli oggetti corrispondenti con quelle informazioni. Per l'oggetto di confronto dei tappeti verdi, questa volta useremo l'operatore > per verificare se la botte scura ha un peso maggiore rispetto a quella chiara. Cammina verso il segno a X dorato sul tappeto verde e affronta il cartello. Utilizza la funzione greater_than() con l'oggetto di confronto per rappresentare il rapporto di peso delle botti, in questo modo: greater_than(green_barrel_compare).

Cammina verso i segni a X scuro e chiaro sul tappeto blu e ripeti lo stesso processo. Usa la funzione read() sui segni a X scuro e chiaro e crea gli oggetti corrispondenti con quelle informazioni. Per l'oggetto di confronto dei tappeti blu, questa volta useremo l'operatore == per verificare se la botte scura ha lo stesso peso di quella chiara. Cammina verso il segno a X dorato sul tappeto blu e affronta il cartello. Utilizza la funzione equal_to() con l'oggetto di confronto per rappresentare il rapporto di peso delle botti, in questo modo: equal_to(blue_barrel_compare).

Una volta etichettati tutti gli ordini, cammina verso il segno a X dorato sul tappeto arancione all'uscita della banchina. Affronta il cartello e usa la funzione write() per annotare ciò che è presente in ogni ordine, scrivi i nomi di ciascuna delle botti in base agli oggetti che hai creato, per esempio, per le botti del tappeto rosso: red_barrel_dark.name , red_barrel_light.name. Fai questo per tutte e sei le botti per completare il livello.

Libro del Codice