Fejlett Python fejlesztési tanfolyam
Fejezet
>
Szint
Aszinkron/Várakozás
Aszinkron áttekintés
Célkitűzés
Dokumentáld az aszinkron függvények használatával a borpalack gyártását, miközben ellenőrzöd a kvótát és befejezed a borbogyók áztatását.
A borpalackok gyártásának meg kell felelnie annak, hogy a pincészet elég palackot tudjon előállítani a raktározáshoz. Ennek eléréséhez a borbogyókat át kell áztatni, hogy minden fermentációra feldolgozott legyen és borra alakuljon át.
Először menj a sötét X jelhez, ahol nincs szőnyeg egy papír előtt, ez a megjegyzés tartalmazza az elkészítendő kvótára vonatkozó információkat, valamint jegyzeteket arról, hogy melyik bogyókat áztatták. Használd a read() függvényt, hogy ellenőrizd a kvótát, és jegyezd fel, milyen értékűek a borbogyók, majd tárold őket egy quota nevű változóban.
Miután tudod, mi szükséges, menj a világos X jelekhez, és fordulj a ládák felé, hogy ellenőrizd, mennyi termék áll készen a feldolgozásra. Használd a read() függvényt mindkettőn, hogy ellenőrizd az elkészült tételek tartalmát. Hozz létre egy wine_berries nevű változót, és add össze a két X jel alatt beolvasott mennyiségeket.
Az elkészült termék mennyisége nem lesz elegendő a kvóta kielégítésére, menj az alsó jobb sarokban lévő arany X jelhez, és fordulj a zsákok felé. Használd a collect() függvényt, hogy összegyűjtsd a bogyókat a zsákokból, majd menj a szőnyegek feletti sötét X jelekhez.
Négy (4) edény van, amelyekben a bogyók áztatása zajlik a borhoz, a dokumentumban ki van írva, mely edények vannak kész az összegyűjtésre, és mely edényekhez szükséges, hogy bogyókat áztassanak. Használd a question() függvényt, hogy eldöntsd, az áztatott borbogyókat szeretnéd-e összegyűjteni, vagy a bogyókat szeretnéd áztatni az edényben. A zöld és sárga szőnyegeken lévő sötét X jelek mellett a bogyókat össze kell gyűjteni, míg a lila és kék szőnyegeken lévő sötét X jelek mellett a bogyókat el kell helyezni.
A termék megszerzéséhez szükséges question() függvény a kódszerkesztőben van megírva és soaking_pot() néven fut:
async def soaking_pot():
answer = await player.question("Collect berries instead of soaking them?")
if answer:
player.collect("wine berries")
else:
player.place("berries")
Miután összegyűjtötted a borbogyókat, menj az arany X jelhez a bal oldalon a bogyótartók mellett, és használd a place() függvényt, hogy hozzáadd az összegyűjtött "wine berries" terméket. Az általad létrehozott wine_berries változóhoz adj hozzá 100 font terméket, ami 50 font mindegyik előzőleg összegyűjtött termékből. Ezt így kell csinálni: wine_berries+=100
Menj a sötét X jelekhez a piros és narancs szőnyegeken, a piros szőnyeg X jelén használd a write() függvényt, és írd be az addig rendelkezésre álló wine_berries mennyiségét így: player.write("There are %d pounds of product finished" % (wine_berries))
A narancs szőnyeg X jelén használd a write() függvényt, hogy leírd a még befejezetlen terméket. A feladat befejezéséhez vond ki a wine_berries-ből a quota mennyiségét, miközben az eredményt írod le, így: player.write("There are %d pounds of product Remaining" % (quota-wine_berries))