Coding for KidsCoding for Kids
Δημιουργικά ΕπίπεδαΠροκλήσειςΟδηγός Εκπαιδευτικού
Ψηφίστε για λειτουργίες
Προχωρημένο Μάθημα Ανάπτυξης σε Python
Κεφάλαιο
>
Επίπεδο

Προχωρημένες Κλάσεις
Υπερφόρτωση Σύγκρισης

Στόχος

Ελέγξτε και επισημάνετε σωστά τις αποστολές χρησιμοποιώντας την Παραλληλοποίηση Συγκρίσεων.

Η αποβάθρα μεταφοράς διαθέτει μερικά βαρέλια κρασιού που είναι έτοιμα να μεταφερθούν στα καταστήματα, αλλά έπειτα πρέπει να επισημανθούν και να προετοιμαστούν ώστε οι εργαζόμενοι να μπορούν να τα επιλέξουν και να τα αποστείλουν χωρίς πρόβλημα. Για να το κάνετε αυτό, πρέπει να χρησιμοποιήσετε την Παραλληλοποίηση Συγκρίσεων, παρόμοια με την Υπερφόρτωση Τελεστών που μάθατε στο προηγούμενο κεφάλαιο, πρέπει να υπερφορτώσετε μια κλάση, αυτή τη φορά με τελεστές σύγκρισης.

Υπάρχουν τρεις (3) παραγγελίες στην αποβάθρα, καθεμία με δύο (2) βαρέλια. Κάθε παραγγελία διαθέτει ένα σήμα που προορίζεται να περιγράψει τη σχέση βάρους των βαρελιών στην παραγγελία. Υπάρχει μια κλάση που περιγράφεται στον επεξεργαστή με το όνομα barrel που σας επιτρέπει να χρησιμοποιήσετε την Παραλληλοποίηση Συγκρίσεων. Υπάρχουν επίσης τρεις (3) συναρτήσεις που έχουν οριστεί στον επεξεργαστή: less_than(), greater_than(), equal_to(), οι οποίες χρησιμοποιούνται για να καταγράψουν τη σχέση βάρους στα σήματα.

Ξεκινήστε περπατώντας προς τα σκοτεινά και φωτεινά σημάδια X πάνω από τα κόκκινα χαλιά και αντιμετωπίστε τα βαρέλια, χρησιμοποιώντας τη συνάρτηση read() για να προσδιορίσετε το όνομα του κρασιού στο βαρέλι καθώς και το βάρος του, ως εξής: await player.read(). Δημιουργήστε αντικείμενα για τα σκοτεινά και φωτεινά βαρέλια, χρησιμοποιώντας την κλάση barrel, και προσθέστε τις πληροφορίες που εντοπίζετε από τη συνάρτηση read(). Μόλις δημιουργηθούν τα αντικείμενα, δημιουργήστε ένα ακόμα αντικείμενο που να συγκρίνει και τα δύο αντικείμενα. Για παράδειγμα:

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

Βεβαιωθείτε ότι γράφετε το όνομα του κρασιού στο αντικείμενο της κλάσης barrel ακριβώς όπως εμφανίζεται στο μήνυμα όταν χρησιμοποιείτε read().

Δημιουργήστε τα αντικείμενα χρησιμοποιώντας τις συμβάσεις ονοματοδοσίας σύμφωνα με το χαλί και το σήμα X του χρώματος. Για το κόκκινο χαλί, κατά τη σύγκριση των βαρελιών, χρησιμοποιήστε τον τελεστή < για να ελέγξετε αν το σκοτεινό βαρέλι έχει μικρότερο βάρος από το φωτεινό. Για να ολοκληρώσετε αυτή την ενότητα, περπατήστε προς το χρυσό σήμα X πάνω από το κόκκινο χαλί και αντιμετωπίστε το σήμα. Χρησιμοποιήστε τη συνάρτηση less_than() με το αντικείμενο σύγκρισης για να καταγράψετε τη σχέση βάρους των βαρελιών, ως εξής: less_than(red_barrel_compare) .

Στη συνέχεια, περπατήστε προς τα σκοτεινά και φωτεινά σημάδια X πάνω από το πράσινο χαλί και επαναλάβετε την ίδια διαδικασία. Χρησιμοποιήστε τη συνάρτηση read() στα σκοτεινά και φωτεινά σημάδια X και δημιουργήστε αντίστοιχα αντικείμενα με αυτές τις πληροφορίες. Για το αντικείμενο σύγκρισης του πράσινου χαλιού, αυτή τη φορά θα χρησιμοποιήσουμε τον τελεστή > για να ελέγξουμε αν το σκοτεινό βαρέλι έχει μεγαλύτερο βάρος από το φωτεινό. Περπατήστε προς το χρυσό σήμα X πάνω από το πράσινο χαλί και αντιμετωπίστε το σήμα. Χρησιμοποιήστε τη συνάρτηση greater_than() με το αντικείμενο σύγκρισης για να καταγράψετε τη σχέση βάρους των βαρελιών, ως εξής: greater_than(green_barrel_compare) .

Περπατήστε προς τα σκοτεινά και φωτεινά σημάδια X πάνω από το μπλε χαλί και επαναλάβετε την ίδια διαδικασία. Χρησιμοποιήστε τη συνάρτηση read() στα σκοτεινά και φωτεινά σημάδια X και δημιουργήστε αντίστοιχα αντικείμενα με αυτές τις πληροφορίες. Για το αντικείμενο σύγκρισης του μπλε χαλιού, αυτή τη φορά θα χρησιμοποιήσουμε τον τελεστή == για να ελέγξουμε αν το σκοτεινό βαρέλι έχει ίσο βάρος με το φωτεινό. Περπατήστε προς το χρυσό σήμα X πάνω από το μπλε χαλί και αντιμετωπίστε το σήμα. Χρησιμοποιήστε τη συνάρτηση equal_to() με το αντικείμενο σύγκρισης για να καταγράψετε τη σχέση βάρους των βαρελιών, ως εξής: equal_to(blue_barrel_compare) .

Μόλις επισημανθούν όλες οι παραγγελίες, περπατήστε προς το χρυσό σήμα X πάνω από το πορτοκαλί χαλί στην αποβάθρα για έξοδο. Αντιμετωπίστε το σήμα και χρησιμοποιήστε τη συνάρτηση write() για να καταγράψετε τι υπάρχει σε κάθε παραγγελία, γράφοντας τα ονόματα κάθε ενός από τα βαρέλια σύμφωνα με τα αντικείμενα που δημιουργήσατε, για παράδειγμα όσον αφορά τα βαρέλια του κόκκινου χαλιού: red_barrel_dark.name , red_barrel_light.name. Κάντε το αυτό για όλα τα έξι βαρέλια ώστε να ολοκληρώσετε το επίπεδο.

Βιβλίο Κώδικα