Coding for KidsCoding for Kids
Kreativní ÚrovněVýzvyPrůvodce pro Učitele
Hlasovat pro funkce
Pokročilý kurz vývoje v Pythonu
Kapitola
>
Úroveň

Pokročilé seznamy
Třídění množin

Cíl

Uspořádejte a uvařte jídla pomocí množin pro třídění a sestavení ingrediencí.

Bylo by dobré začít připravovat nějaké jídlo, v lednici se nachází několik ingrediencí zabalených a také několik bylinek, které můžete použít k dochucení jídla. Všechny materiály jsou uloženy v seznamech, takže by bylo dobré použít množiny k sloučení položek a využít tak vaření na maximum.

Existují tři (3) konstanty seznamů, dvě (2) představují masa, pojmenované: pack1 a pack2, a jedna (1) představuje kuchyňské suroviny, pojmenovaná ingredients. Jděte k tmavé značce X na oranžovém koberci a otočte se k lednici, použijte funkci collect() k sebrání pack1 a pack2 z lednice, například: player.collect(pack1).

Jakmile bylo maso sebráno, jděte ke světlé značce X a otočte se k prkénku, kde ověříme obsah balíčků pomocí funkce speak() s oběma konstantami seznamu, které jste sebrali. Odtud konsolidujeme položky pomocí množin, jako v předchozí úrovni. Vytvořte dvě množiny pojmenované set1 a set2 a pomocí funkce set() jim přiřaďte pack1 a pack2, například: set1 = set(pack1).

Jakmile byly seznamy konsolidovány do množin, je čas seřadit a rozdělit položky do menších množin pro přehlednost.

První metodou, jak to dosáhnout, se nazývá systemic_difference. Tato metoda nám umožní oddělit položky, které nejsou sdíleny mezi jednotlivými množinami. Vytvořte množinu pojmenovanou unique a použijte obě množiny k porovnání a identifikaci unikátních položek pomocí systemic_difference, například takto: unique = set1.symmetric_difference(set2). Pomocí metody speak() ověřte obsah vytvořené množiny.

Pokračujte řazením vytvořením množiny pojmenované shared a použijte metodu intersection, kterou jste se naučili v předchozí úrovni, k identifikaci položek, které se nacházejí v obou množinách. Použijte obě množiny k porovnání a identifikaci položek, například: shared = set1.intersection(set2). Pomocí metody speak() ověřte obsah vytvořené množiny.

Nakonec použijte metodu nazvanou difference, která nám umožní oddělit položky, jež se nacházejí pouze v jedné množině a ne v té druhé. Vytvořte dvě (2) množiny pojmenované meat1 a meat2 a použijte obě původní množiny k porovnání a identifikaci položek pomocí difference, například takto: meat1 = set1.difference(set2) a meat2 = set2.difference(set1). Pomocí metody speak() ověřte obsah obou vytvořených množin pro maso.

Tímto jsou masa seřazena, jděte k tmavé značce X nad modrým kobercem, otočte se k lednici a použijte funkci place() k uložení vytvořené množiny shared, například takto: player.place(shared). Tímto odložíte ingredience, které nebudete vařit.

Jděte ke zlaté značce X, otočte se ke skříni a použijte funkci collect() pro získání poslední konstanty seznamu nazvané ingredients a ověřte její obsah funkcí speak(). Předejte prvky z ingredients do nové množiny nazvané set3. Nyní, když máte všechny ingredience, vytvořte dvě množiny pojmenované meal1 a meal2 pomocí metody union, která kombinuje všechny prvky potřebné k vaření.

Pro meal1 sloučte set3 a meat1 následovně: meal1 = set3.union(meat1). Jděte k tmavé značce X nad fialovým kobercem a s množinou meal1 použijte funkci speak() k ověření obsahu a funkci place() k uvaření jídla v hrnci.

Pro meal2 udělejte totéž, avšak tentokrát použijte metodu union s set3 a meat2. Jděte k tmavé značce X nad žlutým kobercem a otočte se k hrnci, použijte funkce speak() a place() s meal2, aby jste dokončili úroveň.

Kniha Kódu