Pokročilý kurz vývoje v Pythonu
Kapitola
>
Úroveň
Pokročilé seznamy
Vytváření množiny
Cíl
Uspořádejte dochucovadla ve skříni do správných kategorií a uskladněte je na policích pomocí Sets.
Ve skříni je uloženo několik dochucovadel, která jsou již připravena k použití, ale jsou neuspořádaná a těžko přístupná. Je třeba je řádně rozmístit na prázdné police vedle nich, které již byly vyčerpány.
Dochucovadla jsou rozdělena do tří (3) seznamů, které lze přeuspořádat pomocí Sets. Sets jsou seznamy, ve kterých se neopakují žádné položky, lze je také různě třídit a porovnávat s ostatními Sets za účelem nalezení nebo zdůraznění konkrétních položek.
Ve skříni jsou uloženy tři konstantní seznamy, nazývané: condiments1, condiments2 a condiments3. Jděte k označení s lehkým X a zkontrolujte obsah seznamů pomocí funkce speak() a seberte všechny tři (3) seznamy použitím funkce collect(), například takto: player.speak(condiments1), player.collect(condiments1) .
Sets se vytvářejí zápisem set() s daným seznamem nebo položkami seznamu jako argumentem a následným přiřazením názvu Setu. Vytvořte tři (3) Sets pojmenované: set1, set2 a set3, přiřaďte jim odpovídající číslované konstanty seznamů, například: set1 = set(condiments1) .
Jakmile budou sebrány, jděte k tmavému X označení nad zeleným kobercem, postavte se ke stolu a aplikujte filtrování seznamů skrze Sets. Použijte funkci speak() se všemi třemi Sets, které jste právě vytvořili, například: player.speak(set1) .
Následujte to tak, že půjdete k tmavému X označení nad modrým kobercem a konsolidujete položky kontrolou, která dochucovadla se nacházejí ve všech třech (3) seznamech. Udělejte to pomocí metody intersection(), která vám umožní porovnat Sets a najít položky přítomné ve všech třech. Výsledný Set pojmenujte duplicates a konsolidujte jej, například takto: duplicates = set1.intersection(set2,set3) , použijte funkci speak() k ověření výsledného Setu.
Jděte k červenému kobercu s tmavým X označením a sloučte všechny tři Sets do jednoho Setu, což provedete pomocí metody union(). Používá se stejně jako metoda intersection(), ale místo toho vezme všechny položky ze všech třech (3) Sets a vloží je do jednoho Setu bez duplicit. Výsledný Set pojmenujte all_items a konsolidujte jej, například takto: all_items = set1.union(set2,set3) , použijte funkci speak() k ověření výsledného Setu.
Jakmile bude vše konsolidováno, jděte ke zlatému X označení a postavte se k policím, použijte funkci place() pro umístění všech dochucovadel do prázdné police, abyste dokončili úroveň, například takto: player.place(all_items) .