Coding for KidsCoding for Kids
Kreative LevelHerausforderungenLehrerhandbuch
Für Funktionen abstimmen
Fortgeschrittener Python-Entwicklungskurs
Kapitel
>
Stufe

Fortgeschrittene Funktionen
Funktionen mit variablen Argumenten

Ziel

Schnappe dir alle Verbrauchsmaterialien im Lagerhaus und verpacke sie in Lagercontainern mithilfe von Funktionen mit variablen Argumenten.

Im Lagerhaus befinden sich mehrere Lebensmittel, die verpackt werden müssen, um versendet und verkauft zu werden. Um dies effizient zu gestalten, kannst du benutzerdefinierte Funktionen mit einer variablen Anzahl von Argumenten erstellen. Das sind Funktionen, die keine feste Anzahl an Argumenten haben und es dir erlauben, so viele Argumente zu übergeben, wie du zur Ausführung der Funktion benötigst.

Es gibt zwei (2) Möglichkeiten, einer Funktion eine variable Anzahl von Argumenten hinzuzufügen, abhängig davon, was du erreichen möchtest. Die erste Methode besteht darin, eine Argumentliste zu erstellen. Anstatt verschiedene Argumentnamen anzugeben, setzt du einen Stern (*) vor ein einzelnes Argument. Dadurch wird automatisch eine Liste erstellt.

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")

Die zweite Methode besteht darin, die Argumente in ein Wörterbuch aufzunehmen, anstatt in eine Liste. Dies geschieht auf dieselbe Weise wie in der vorherigen Methode, aber anstatt eines einzelnen Sterns setzt man zwei. Dadurch wird automatisch ein Wörterbuch anstelle einer Liste erstellt.

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}

Um alle Gegenstände für den Versand zu verpacken, erstelle zwei Sätze benutzerdefinierter Funktionen, eine zum Verpacken einzelner Gegenstände und eine zum gemeinsamen Verpacken mehrerer Gegenstände. Verwende die variablen Argumente, um verschiedene Gegenstände zusammen zu verpacken, ohne zu viele Funktionen erstellen zu müssen.

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)

Es gibt vier (4) verschiedene Arten von Gegenständen im Spiel: "jars", "eggs", "berries" und "fruit". Sammle alle Gegenstände im Lagerhaus und gehe zu den X-Markierungen auf der Versandspur. Gehe zu den dunklen X-Markierungen und verwende die Funktion pack_singles, um die "jars" und "eggs" zu verpacken.

Bei den "jars" gibt es vier (4) Arten, die du sammelst und als Argumente übergibst, nämlich "white", "purple", "red" und "brown". Diese sollen im Container am grünen Teppich gelagert werden. Der Code wird folgendermaßen geschrieben: pack_singles("jars", "white", "purple", "red", "brown")

Bei den "eggs" gibt es drei (3) Arten, die du sammelst und als Argumente übergibst, nämlich "white", "green" und "blue". Diese sollen im Container am orangen Teppich gelagert werden. Das gleiche Format wird wie im vorherigen Beispiel verwendet.

Anschließend gehe zu den hellen X-Markierungen und verwende die Funktion pack_multi, um die "berries" und "fruit" zu verpacken. Bei den "berries" gibt es drei (3) Arten, die du sammelst und als Argumente übergibst, nämlich "red", "blue" und "purple". Diese sollen im Container am blauen Teppich gelagert werden. Du musst die von dir gesammelten Mengen für jede Art angeben, wie folgt: pack_multi("berries", red = 3 , blue = 2 , purple = 4 )

Bei den "fruit" gibt es vier (4) Arten, die du sammelst und als Argumente übergibst, nämlich "apple", "pear", "orange" und "peach". Diese sollen im Container am roten Teppich gelagert werden. Verwende das gleiche Format wie im vorherigen Beispiel und stelle sicher, dass alle Gegenstände gesammelt und gelagert werden, um das Level abzuschließen.

Codebuch