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

Προηγμένες Λίστες
Ταξινόμηση Συνόλων

Στόχος

Οργανώστε και μαγειρέψτε γεύμα χρησιμοποιώντας Sets για ταξινόμηση και σύνθεση συστατικών.

Θα ήταν καλή ιδέα να αρχίσετε να ετοιμάζετε φαγητό, καθώς υπάρχουν μερικά συστατικά στο ψυγείο, όλα τυλιγμένα, καθώς και κάποια βότανα που μπορείτε να χρησιμοποιήσετε για να δώσετε γεύση στο γεύμα. Όλα τα υλικά είναι αποθηκευμένα σε λίστες, οπότε θα ήταν καλή ιδέα να χρησιμοποιήσετε Sets προκειμένου να ενοποιήσετε τα αντικείμενα και να αξιοποιήσετε στο έπακρο το μαγείρεμά σας.

Υπάρχουν τρεις (3) σταθερές λίστας, δύο (2) από τις οποίες είναι κρέατα, με ονόματα: pack1 και pack2, και μία (1) είναι υλικά μαγειρικής, με το όνομα ingredients. Περπατήστε μέχρι το σκοτεινό σημάδι X πάνω στο πορτοκαλί χαλί και στραφείτε προς το ψυγείο, χρησιμοποιήστε τη συνάρτηση collect() για να πάρετε τα pack1 και pack2 από το ψυγείο, όπως αυτό: player.collect(pack1).

Μόλις μαζευτούν τα κρέατα, περπατήστε μέχρι το φωτεινό σημάδι X και στραφείτε προς την επιφάνεια κοπής. Εδώ θα επαληθεύσουμε τα περιεχόμενα των πακέτων χρησιμοποιώντας τη συνάρτηση speak() με τις δύο σταθερές λίστας που συλλέξατε.

Από εδώ θα ενοποιήσουμε τα αντικείμενα χρησιμοποιώντας Sets όπως στο προηγούμενο επίπεδο. Δημιουργήστε δύο Sets με ονόματα set1 και set2, και χρησιμοποιώντας τη συνάρτηση set() αναθέστε σε αυτά τα pack1 και pack2, για παράδειγμα: set1 = set(pack1).

Μόλις οι λίστες έχουν ενοποιηθεί σε Sets, είναι ώρα να ταξινομήσουμε και να διαχωρίσουμε τα αντικείμενα σε μικρότερα Sets για ευκολία.

Η πρώτη μέθοδος για να το πετύχετε ονομάζεται systemic_difference, η οποία θα μας επιτρέψει να διαχωρίσουμε τα αντικείμενα που δεν μοιράζονται μεταξύ των Sets. Δημιουργήστε ένα Set με το όνομα unique και χρησιμοποιήστε τα δύο Sets για να συγκρίνετε και να εντοπίσετε τα μοναδικά αντικείμενα χρησιμοποιώντας το systemic_difference, όπως αυτό: unique = set1.symmetric_difference(set2). Χρησιμοποιήστε τη μέθοδο speak() με το Set που δημιουργήσατε για να επιβεβαιώσετε τα περιεχόμενά του.

Στη συνέχεια, συνεχίστε με την ταξινόμηση δημιουργώντας ένα Set με το όνομα shared και χρησιμοποιήστε τη μέθοδο intersection που μάθαμε στο προηγούμενο επίπεδο για να εντοπίσετε τα αντικείμενα που υπάρχουν και στα δύο Sets. Χρησιμοποιήστε τα δύο Sets για να συγκρίνετε και να εντοπίσετε τα αντικείμενα, όπως αυτό: shared = set1.intersection(set2). Χρησιμοποιήστε τη μέθοδο speak() με το Set που δημιουργήσατε για να επιβεβαιώσετε τα περιεχόμενά του.

Τέλος, χρησιμοποιήστε μια μέθοδο που ονομάζεται difference, η οποία θα μας επιτρέψει να διαχωρίσουμε τα αντικείμενα που βρίσκονται μόνο σε ένα Set και όχι στο άλλο. Δημιουργήστε δύο (2) Sets με ονόματα meat1 και meat2, χρησιμοποιήστε τα δύο αρχικά Sets για να συγκρίνετε και να εντοπίσετε τα αντικείμενα χρησιμοποιώντας το difference, όπως αυτό: meat1 = set1.difference(set2) και meat2 = set2.difference(set1). Χρησιμοποιήστε τη μέθοδο speak() και με τα δύο Sets των κρεάτων που δημιουργήσατε για να επιβεβαιώσετε τα περιεχόμενα κάθε σετ.

Με αυτό τα κρέατα έχουν ταξινομηθεί, περπατήστε μέχρι το σκοτεινό σημάδι X πάνω από το μπλε χαλί, στραφείτε προς το ψυγείο και χρησιμοποιήστε τη συνάρτηση place() για να αποθηκεύσετε το Set shared που δημιουργήσατε, όπως αυτό: player.place(shared). Με αυτό θα αποθηκεύσετε τα συστατικά που δεν χρησιμοποιείτε για το μαγείρεμα.

Περπατήστε μέχρι το χρυσό σημάδι X, στραφείτε προς την ντουλάπα και χρησιμοποιήστε τη συνάρτηση collect() για να αποκτήσετε την τελευταία σταθερή λίστα με το όνομα ingredients και χρησιμοποιήστε τη συνάρτηση speak() για να επιβεβαιώσετε τα περιεχόμενά της. Μεταφέρετε τα στοιχεία από το ingredients σε ένα νέο Set με το όνομα set3. Τώρα που έχετε όλα τα συστατικά, δημιουργήστε δύο Sets, με ονόματα meal1 και meal2, χρησιμοποιώντας τη μέθοδο union για να συνδυάσετε όλα τα στοιχεία που χρειάζονται για το μαγείρεμα.

Για το meal1, συνδυάστε το set3 και το meat1 ως εξής: meal1 = set3.union(meat1). Περπατήστε μέχρι το σκοτεινό σημάδι X πάνω από το μωβ χαλί και, με το Set meal1, χρησιμοποιήστε τη συνάρτηση speak() για να επιβεβαιώσετε τα περιεχόμενα και τη συνάρτηση place() για να μαγειρέψετε το γεύμα στην κατσαρόλα.

Για το meal2 κάντε το ίδιο, αλλά αντίθετα χρησιμοποιήστε τη μέθοδο union με το set3 και το meat2. Περπατήστε μέχρι το σκοτεινό σημάδι X πάνω από το κίτρινο χαλί και στραφείτε προς την κατσαρόλα, χρησιμοποιήστε τις συναρτήσεις speak() και place() με το meal2 για να ολοκληρώσετε το επίπεδο.

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