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

Προχωρημένες Συναρτήσεις
Συναρτήσεις Με Μεταβλητά Ορίσματα

Στόχος

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

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

Υπάρχουν δύο (2) τρόποι για να προσθέσεις μεταβλητό αριθμό παραμέτρων σε μια συνάρτηση, ανάλογα με το τι προσπαθείς να επιτύχεις. Η πρώτη μέθοδος είναι η δημιουργία μιας λίστας παραμέτρων, αντί να τοποθετείς διάφορα ονόματα παραμέτρων, τοποθέτησε ένα αστέρι μπροστά από μια παράμετρο. Αυτό αυτόματα δημιουργεί μια λίστα.

def custom_function(message,*arguments): player.speak(message) return(arguments) value = custom_function("lalala","one","two","three") # The message "lalala" is printed on screen # Value now returns the list ("one","two","three")

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

def custom_function(message,**arguments): player.speak(message) return(arguments) value = custom_function("lalala", one = 1, two = 2, three = 3) # The message "lalala" is printed on screen # Value now returns the dictionary: # {'one': 1, 'three': 3, 'two': 2}

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

def pack_singles(name,*items): length = len(items) player.speak("There are %d types of %s, those being:" % (length, name) ) player.speak(items) player.place(items) def pack_multi(name,**items): length = len(items) player.speak("There are %d types of %s, those being:" % (length, name) ) player.speak(items) player.place(items)

Υπάρχουν τέσσερα (4) διαφορετικά είδη αντικειμένων στο πεδίο: "jars" , "eggs" , "berries" και "fruit". Συγκέντρωσε όλα τα αντικείμενα στην αποθήκη και περπάτησε προς τα σημάδια X στο διάδρομο αποστολής. Περπάτησε προς τα σκούρα σημάδια X και χρησιμοποίησε τις συναρτήσεις pack_singles για να συσκευάσεις τα "jars" και τα "eggs".

Για τα "jars" υπάρχουν τέσσερα (4) είδη που συλλέγεις και εισάγονται ως παράμετροι, αυτά είναι: "white", "purple", "red" και "brown". Αυτά πρέπει να αποθηκευτούν στο δοχείο δίπλα στο πράσινο χαλί. Ο κώδικας γράφεται ως εξής: pack_singles("jars", "white", "purple", "red", "brown")

Για τα "eggs" υπάρχουν τρία (3) είδη που συλλέγεις και εισάγονται ως παράμετροι, αυτά είναι: "white", "green" και "blue". Αυτά πρέπει να αποθηκευτούν στο δοχείο δίπλα στο πορτοκαλί χαλί. Χρησιμοποιείται η ίδια μορφή όπως και στην προηγούμενη ρύθμιση.

Στη συνέχεια, περπάτησε προς τα φωτεινά σημάδια X και χρησιμοποίησε τη συνάρτηση pack_multi για να συσκευάσεις τα "berries" και το "fruit". Για τα "berries" υπάρχουν τρία (3) είδη που συλλέγεις και εισάγονται ως παράμετροι, αυτά είναι: "red", "blue" και "purple". Αυτά πρέπει να αποθηκευτούν στο δοχείο δίπλα στο μπλε χαλί. Πρέπει να προσθέσεις τις ποσότητες που συλλέγεις για το καθένα, ως εξής: pack_multi("berries", red = 3 , blue = 2 , purple = 4 )

Για το "fruit" υπάρχουν τέσσερα (4) είδη που συλλέγεις και εισάγονται ως παράμετροι, αυτά είναι: "apple", "pear", "orange" και "peach". Αυτά πρέπει να αποθηκευτούν στο δοχείο δίπλα στο κόκκινο χαλί. Χρησιμοποίησε την ίδια μορφή όπως στην προηγούμενη καταχώρηση. Βεβαιώσου ότι όλα τα αντικείμενα συλλέγονται και αποθηκεύονται ώστε να ολοκληρωθεί το επίπεδο.

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