Coding for KidsCoding for Kids
Kreatív SzintekKihívásokTanári Útmutató
Szavazzon a funkciókra
Fejlett Python fejlesztési tanfolyam
Fejezet
>
Szint

Haladó függvények
Részleges függvények

Cél

Csomagold és helyezd el a dokkhoz szállított építőanyagokat részleges függvények használatával.

Néhány anyagot éppen most szállítottak le a dokkra, ezeket csomagolni és tárolni kell, hogy építőanyagként felhasználhatók legyenek. Az anyagokat textilbe kell csomagolni és cérnával kell megkötögetni. Fontos, hogy a csomagolás során minden elemet megmérjünk, hogy később hatékonyan szállíthatók legyenek. Ennek megkönnyítése érdekében optimalizálhatjuk ezt a folyamatot a Részleges Függvények használatával.

Egy Részleges Függvény egy olyan egyedi függvény, amelyet azáltal rövidítünk, hogy nem kell megadni azokat az argumentumértékeket, amelyek nagyrészt állandóak. Ez lehetővé teszi, hogy olyan függvényeket használjunk, amelyek több argumentumot várnak, de csak egyetlen argumentummal vagy a választott mennyiséggel hajtódnak végre.

from functools import partial

Ahhoz, hogy elkezdd, importáld a partial-t a functools nevű modulból, ez lehetővé teszi, hogy Részleges Függvényeket hozz létre. Az importálási kód mindig a kódszerkesztő tetején helyezkedik el.

Állíts be egy weight nevű függvényt, amely három(3) argumentumot fogad: thread, cloth és material. Ez a függvény lehetővé teszi, hogy kiszámold a csomagolt anyagok súlyát, tovább optimalizálhatjuk a folyamatot, ha egy részleges függvényen keresztül irányítjuk.

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

Hozz létre egy Részleges Függvényt package néven, amelyet hasonló módon állítunk be, mint a lambda függvényeket. Használd a partial()-t a függvény feltöltéséhez, és add meg a függvény nevét, valamint azokat az állandó értékeket, amelyeket az argumentumokhoz szeretnél rendelned.

Az eredeti függvény bármely, nem hozzárendelt argumentuma azok lesznek az argumentumok, amelyeket a Részleges Függvénynek kell megadni. A package() Részleges Függvény esetében ez a material argumentum.

Sétálj a ládák elé elhelyezett sötét X jelekhez, hogy összegyűjtsd a csomagolóanyagokat. A sárga szőnyegen lévő X jelre, használd a collect() függvényt a "thread" beszerzéséhez, majd sétálj a lila szőnyegen lévő X jelhez, és használd a collect() függvényt a "cloth" beszerzéséhez. Ezeket az elemeket fogod felhasználni az anyagok csomagolásához.

Sétálj át a dokkon, és gyűjtsd össze az összes építőanyagot, ezek a következők: bricks, planks, red_bricks és wood. Miután összegyűjtötted őket, add hozzá az egyes anyagokból összegyűjtött mennyiséget egy az anyag nevét viselő változóhoz, például: bricks = 3.

Ezután sétálj el a ládák elé elhelyezett világos X jelekhez, és számold ki minden építőanyag súlyát, mielőtt tárolnád őket. Használd a speak() függvényt a package() Részleges Függvénnyel a súly kiszámításához. Az anyag változókat add át argumentumként a package() függvénynek, például:

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

Kövesd ezt az eljárást a place() függvény használatával, hogy az anyagot a ládákba tárold, szintén a package() függvény segítségével, ahogy az az előző példában is látható.

A világos X jelnél a red szőnyeggel mérd le és tárold a bricks-et. A világos X jelnél a blue szőnyeggel mérd le és tárold a planks-et. A világos X jelnél a orange szőnyeggel mérd le és tárold a red_bricks-et. A világos X jelnél a green szőnyeggel mérd le és tárold a wood-ot. Töltsd meg és mérd le mind a négy(4) anyagot a megfelelő ládákban, hogy teljesítsd a szintet.

Kódkönyv