Προχωρημένο Μάθημα Ανάπτυξης σε Python
Κεφάλαιο
>
Επίπεδο
Ασύγχρονο/Αναμονή
Δημιουργία μηνύματος
Μερικές φορές θα θέλετε να κάνετε τον κώδικα python να τρέχει μόνο αφού πληρούνται συγκεκριμένα κριτήρια, αντί να εκτελείται όλος μαζί. Αυτό μπορεί να επιτευχθεί χρησιμοποιώντας async συναρτήσεις. Το όνομα αυτού του τύπου συνάρτησης είναι μια συντομογραφία της λέξης asynchronous και καλούνται προσθέτοντας την έκφραση await πριν από μια συνάρτηση.
Σε αυτό το επίπεδο θα μάθουμε πώς να γράφουμε τα δικά μας μηνύματα και να τα εμφανίζουμε ως popup. Με την προσθήκη του await, θα μπορέσουμε να διακόψουμε την εκτέλεση του κώδικα, επιτρέποντάς σας να διαβάσετε το μήνυμα που γράψατε και να συνεχίσετε τον κώδικα μόνο μετά το κλείσιμο του popup.

Στόχος
Επισημάνετε τις πινακίδες έτσι ώστε να εμφανίζουν ένα μήνυμα χρησιμοποιώντας συναρτήσεις await/async.
Οι πινακίδες στην αποθήκη δεν έχουν καμία ετικέτα, τα υλικά τοποθετήθηκαν πρόσφατα και δεν είχαν τοποθετηθεί σωστά. Θα ήταν καλή ιδέα να γράψετε μηνύματα για κάθε ετικέτα και να μετρήσετε όλα τα αντικείμενα που εξετάσατε χρησιμοποιώντας τη συνάρτηση await/async write().
Περπατήστε προς το φωτεινό σημείο όπου το X δείχνει τα κουτιά και χρησιμοποιήστε τη συνάρτηση speak() για να προσδιορίσετε το περιεχόμενο των κουτιών. Υπάρχουν τέσσερις (4) σταθερές, μία για κάθε κουτί, που είναι: green_crate, blue_crate, red_crate και orange_crate, οι οποίες αντιστοιχούν στα αντίστοιχα έγχρωμα χαλιά μπροστά από κάθε κουτί.
Μόλις προσδιορίσετε το περιεχόμενο ενός κουτιού, χρησιμοποιήστε τη συνάρτηση write() για να γράψετε ένα μήνυμα στην πινακίδα. Τα κουτιά θα περιέχουν τέσσερις (4) διαφορετικούς τύπους λαχανικών: "potato", "onion", "corn" και "carrot". Γράψτε τα με τη συνάρτηση, ως εξής: await player.write("potato").
Ο κώδικας await προστίθεται για να αναγνωρίσει τη συνάρτηση ως async. Οι συναρτήσεις αυτού του τύπου μπορούν να εκτελούνται ταυτόχρονα με άλλες διαδικασίες στον κώδικά σας. Αυτό είναι χρήσιμο όταν θέλετε να διακόψετε τον κώδικά σας και να περιμένετε να συμβεί κάτι, όπως το πάτημα ενός κουμπιού ή μια εντολή που λαμβάνεται διαδικτυακά. Για αυτό το λόγο προστίθεται η εντολή await; στην περίπτωση της συνάρτησης write(), είναι για να διακόψει το πρόγραμμα προκειμένου να εμφανιστεί ένα μήνυμα.
Μόλις όλα τα κουτιά έχουν γραφτεί τα μηνύματά τους, περπατήστε προς το Χ με το χρυσό σήμα στο τέλος της αποθήκης για να μετρήσετε τον αριθμό των αντικειμένων σε κάθε κουτί. Δημιουργήστε μια λίστα με όλες τις σταθερές και χρησιμοποιήστε τη συνάρτηση write() για να γράψετε ένα μήνυμα, ώστε να ολοκληρωθεί το επίπεδο.