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

Fortgeschrittene Funktionen
Partielle Funktionen

Ziel

Verpacke und lagere Baumaterialien, die am Dock angeliefert wurden, mithilfe von Partial Functions.

Einige Vorräte wurden gerade an einem Dock angeliefert, sie sollen verpackt und gelagert werden, damit sie als Baumaterial verwendet werden können. Die Materialien müssen in Stoff eingewickelt und mit Faden zusammengebunden werden. Es ist wichtig, alle Gegenstände beim Verpacken zu wiegen, damit sie später effektiv transportiert werden können. Um dies zu erleichtern, können wir diesen Prozess mithilfe von Partial Functions optimieren.

Eine Partial Function ist eine benutzerdefinierte Funktion, die verkürzt wird, indem man Argumentwerte, die weitgehend konstant sind, nicht explizit angeben muss. Dies ermöglicht es dir, Funktionen, die mehrere Argumente entgegennehmen, mit nur einem Argument oder einer von dir gewählten Anzahl von Argumenten auszuführen.

from functools import partial

Um zu beginnen, musst du partial aus dem Modul functools importieren, was dir erlaubt, Partial Functions zu erstellen. Import-Code gehört immer an den Anfang des Code-Editors.

Richte eine Funktion mit dem Namen weight ein, die drei(3) Argumente entgegennimmt: thread, cloth und material. Diese Funktion ermöglicht dir, das Gewicht der verpackten Materialien zu berechnen. Wir können diesen Prozess weiter optimieren, indem wir ihn über eine Partial Function leiten.

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

Erstelle eine Partial Function namens package. Sie wird ähnlich wie Lambda-Funktionen eingerichtet. Verwende partial(), um die Funktion zu initialisieren, und füge den Namen der Funktion sowie feste Werte für die Argumente hinzu, die du zuweisen möchtest.

Alle Argumente der ursprünglichen Funktion, die du nicht zuweist, werden die Argumente, die von der Partial Function zugewiesen werden müssen. Im Fall der package() Partial Function ist dies das material-Argument.

Gehe zu den dunklen X-Markierungen vor den Kisten, um Verpackungsmaterial zu holen. Auf der gelben Teppich-X-Markierung benutze die Funktion collect(), um "thread" zu erhalten, und gehe zur violetten Teppich-X-Markierung, um die Funktion collect() zu verwenden, um "cloth" zu erhalten. Diese Gegenstände werden zum Verpacken der Materialien verwendet.

Gehe über das Dock und sammle alle Baumaterialien, das sind: bricks, planks, red_bricks und wood. Nachdem du sie gesammelt hast, weise die Anzahl, die du von jedem gesammelt hast, einer Variablen mit dem Namen des Materials zu, zum Beispiel: bricks = 3.

Anschließend gehe zu den hellen X-Markierungen vor den Kisten und berechne das Gewicht jedes Baumaterials, bevor du es lagerst. Verwende die Funktion speak() in Verbindung mit der package() Partial Function, um das Gewicht zu berechnen. Benutze die Materialvariablen als Argumente für die package() Funktion, zum Beispiel:

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

Fahre fort, indem du die Funktion place() verwendest, um das Material in den Kisten zu lagern, und zwar unter Verwendung der package() Funktion, wie im obigen Beispiel gezeigt.

An der hellen X-Markierung mit dem red Teppich wiege und lagere bricks. An der hellen X-Markierung mit dem blue Teppich wiege und lagere planks. An der hellen X-Markierung mit dem orange Teppich wiege und lagere red_bricks. An der hellen X-Markierung mit dem green Teppich wiege und lagere wood. Lagere und wiege alle vier(4) Materialien in den korrekten Kisten, um das Level abzuschließen.

Codebuch