Python fejlesztési kurzus
Fejezet
>
Szint
Szótárak használata
Szótárak bejárása
Cél
Gyűjtsd össze a terepen található összes anyagot, és készíts leltárt minden összegyűjtött tárgyról, mielőtt azokat a kijelölt tárolókba helyeznéd.
Egy vihar tönkretette a híd melletti előestát, szétszórva az anyagokat mindenfelé – biztos vagyok benne, hogy ezeket az anyagokat később hasznosítani fogod. Készíts leltárt minden felvett tárgyról, és helyezd el őket a túloldalban lévő raktárban.
Először gyűjtsd össze a terepen szétszórt törmeléket, melyek a következők: "branches" , "boulders" és "planks". Miután összegyűjtötted az összes tárgyat, helyezd őket egy materials nevű szótárba, és add hozzá mind a három (3) anyag nevét és mennyiségét.
materials = {} materials["branches"] = number of branches collected ......
Miután minden a szótárban van, menj a világos X jelhez, és készíts leltárt az összegyűjtött anyagokról egy for ciklus és a speak() függvény segítségével. Mivel a szótárak eltérnek a listáktól, nem ugyanúgy tudsz rajtuk végigiterálni, mint egy sorozaton, helyette a szótárak saját módszert kínálnak ennek megvalósítására.
for name, number in materials.items(): player.speak("There were %d %s collected" % ( number, name))
Két változó, ebben az esetben a name és a number beállításával elérheted a szótár két mezőjét. Az in kifejezés, a szótár neve és az items() függvény használatával ugyanolyan módon járhatsz végig a szótáron, mint egy sima for ciklussal.
Miután elkészítetted a leltárt, sétálj a sötét X jelhez, és tárold el az összegyűjtött anyagokat a szótárban a tárolókba a place() függvény segítségével, például így: player.place(materials["branches"]). Három (3) sötét X jel található: a bal oldali tárolóba helyezd a "branches"-t, a középsőbe a "boulders"-t, és a jobb oldali tárolóba a "planks"-t. Helyezd el minden anyagot a megfelelő pozícióba a szint teljesítéséhez.