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

Προχωρημένες Συναρτήσεις
Μερικές Συναρτήσεις

Στόχος

Συσκευάστε και τοποθετήστε υλικά κατασκευής που παραδόθηκαν στο μπαράζ χρησιμοποιώντας μερικές συναρτήσεις.

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

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

from functools import partial

Για να ξεκινήσετε, πρέπει να εισαγάγετε το partial από το module γνωστό ως functools, αυτό θα σας επιτρέψει να δημιουργήσετε Μερικές Συναρτήσεις. Ο κώδικας εισαγωγής πάντοτε πηγαίνει στην κορυφή του επεξεργαστή κώδικα.

Ορίστε μια συνάρτηση με όνομα weight που δέχεται τρία (3) ορίσματα: thread, cloth και material. Αυτή η συνάρτηση θα σας επιτρέψει να υπολογίσετε το βάρος των συσκευασμένων υλικών, και μπορούμε να βελτιστοποιήσουμε περαιτέρω αυτή τη διαδικασία διοχετεύοντάς την μέσω μιας μερικής συνάρτησης.

def weight(thread, cloth, material): return 2 * thread + 5 * cloth + material * 10 package = partial(weight, 4, 2)

Δημιουργήστε μια Μερική Συνάρτηση με όνομα package, η οποία δημιουργείται με παρόμοια διαδικασία όπως οι συναρτήσεις lambda. Χρησιμοποιήστε το partial() για να γεμίσετε τη συνάρτηση και να προσθέσετε το όνομα της συνάρτησης καθώς και τις σταθερές τιμές για τα ορίσματα που θέλετε να ορίσετε.

Οποιεσδήποτε παραμέτρους από την αρχική συνάρτηση δεν ορίζετε, θα γίνουν τα ορίσματα που πρέπει να οριστούν από τη Μερική Συνάρτηση. Στην περίπτωση της Μερικής Συνάρτησης package(), είναι το όρισμα material.

Περπατήστε προς τα σκοτεινά σημάδια X μπροστά από τα κουτιά για να πάρετε τα υλικά συσκευασίας. Στο κίτρινο χαλί, στο σημάδι X, χρησιμοποιήστε τη συνάρτηση collect() για να αποκτήσετε το "thread" και περπατήστε προς το μωβ χαλί, στο σημάδι X, και χρησιμοποιήστε τη συνάρτηση collect() για να αποκτήσετε το "cloth". Αυτά τα αντικείμενα θα χρησιμοποιηθούν για τη συσκευασία των υλικών.

Περπατήστε στο μπαράζ και μαζέψτε όλα τα υλικά για κατασκευή, τα οποία είναι: bricks, planks, red_bricks και wood. Μόλις τα μαζέψετε, προσθέστε τον αριθμό που έχετε συλλέξει από το καθένα σε μια μεταβλητή με το όνομα του υλικού, για παράδειγμα: bricks = 3.

Στη συνέχεια, περπατήστε προς τα ανοιχτά σημάδια X μπροστά από τα κουτιά και υπολογίστε το βάρος κάθε υλικού κατασκευής πριν το αποθηκεύσετε. Χρησιμοποιήστε τη συνάρτηση speak() σε συνδυασμό με τη Μερική Συνάρτηση package() για να υπολογίσετε το βάρος. Χρησιμοποιήστε τις μεταβλητές των υλικών ως ορίσματα για τη συνάρτηση package(), για παράδειγμα:

player.speak("Package weighs %s pounds" % package(bricks)) player.place(package(bricks))

Συνεχίστε χρησιμοποιώντας τη συνάρτηση place() για να αποθηκεύσετε το υλικό μέσα στα κουτιά, κάνοντας το με τη χρήση της συνάρτησης package(), όπως στο παραπάνω παράδειγμα.

Στο ανοιχτό σημείο X με το χαλί red ζυγίστε και αποθηκεύστε τα bricks. Στο ανοιχτό σημείο X με το χαλί blue ζυγίστε και αποθηκεύστε τα planks. Στο ανοιχτό σημείο X με το χαλί orange ζυγίστε και αποθηκεύστε τα red_bricks. Στο ανοιχτό σημείο X με το χαλί green ζυγίστε και αποθηκεύστε το wood. Αποθηκεύστε και ζυγίστε και τα τέσσερα(4) υλικά στα σωστά κουτιά για να ολοκληρώσετε το επίπεδο.

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