Avanceret Python Udviklingskursus
Kapitel
>
Niveau
Avancerede Lister
Sortering af Sæt
Mål
Organiser og tilbered et måltid ved hjælp af Sets til at sortere og sammensætte ingredienser.
Det ville være en god idé at begynde at forberede noget mad, der er et par ingredienser i køleskabet, alle indpakket, samt nogle krydderurter, du kunne bruge til at give måltidet smag. Alle materialer er gemt i lister, så det ville være en god idé at bruge Sets for at samle tingene og få mest muligt ud af din madlavning.
Der er tre (3) listekonstanter, to (2) er kød, navngivet: pack1 og pack2, og en (1) er madlavningsmaterialer, navngivet ingredients. Gå til det mørke X-mærke på det orange tæppe og vend mod køleskabet, brug funktionen collect() til at hente pack1 og pack2 fra køleskabet, sådan her: player.collect(pack1).
Når kødet er blevet samlet, gå til det lyse X-mærke og vend mod skærebrættet, her vil vi verificere indholdet af pakkerne ved at bruge funktionen speak() med begge listekonstanter, du samlede. Herfra vil vi samle elementerne ved at bruge Sets ligesom i det forrige niveau. Opret to Sets navngivet set1 og set2, og brug funktionen set() til at tildele pack1 og pack2 til dem, for eksempel: set1 = set(pack1).
Når listerne er blevet samlet i Sets, er det tid til at sortere og opdele elementerne i mindre Sets for bekvemmelighedens skyld.
Den første metode til at opnå dette kaldes systemic_difference, dette vil give os mulighed for at adskille de elementer, som ikke deles mellem hvert Set. Opret et Set kaldet unique og brug de to Sets til at sammenligne og identificere de unikke elementer ved hjælp af systemic_difference, sådan her: unique = set1.symmetric_difference(set2). Brug speak()-metoden med det Set, du har oprettet, for at bekræfte sættets indhold.
Fortsæt sorteringen ved at oprette et Set kaldet shared og brug intersection-metoden, som du lærte i det forrige niveau, til at identificere elementer, der findes i begge Sets. Brug de to Sets til at sammenligne og identificere elementerne, sådan her: shared = set1.intersection(set2). Brug speak()-metoden med det Set, du har oprettet, for at bekræfte sættets indhold.
Til sidst bruges en metode kaldet difference, dette vil give os mulighed for at adskille de elementer, der kun findes i det ene Set og ikke i det andet. Opret to (2) Sets kaldet meat1 og meat2, brug de to oprindelige Sets til at sammenligne og identificere elementerne ved hjælp af difference, sådan her: meat1 = set1.difference(set2) og meat2 = set2.difference(set1). Brug speak()-metoden med begge kød-Sets, du har oprettet, for at bekræfte hvert sæts indhold.
Med dette er kødet sorteret, gå til det mørke X-mærke over det blå tæppe, vend mod køleskabet, og brug funktionen place() til at placere det oprettede shared Set, sådan her: player.place(shared). Dermed lægger du de ingredienser væk, som du ikke laver mad med.
Gå til det gyldne X-mærke, vend mod skabet, og brug funktionen collect() til at hente den sidste listekonstant, der hedder ingredients, og brug speak()-funktionen til at bekræfte dens indhold. Overfør elementerne fra ingredients til et nyt Set kaldet set3.
Nu hvor du har alle ingredienserne, opret to Sets, kaldet meal1 og meal2, ved at bruge union-metoden til at kombinere alle de elementer, der er nødvendige for at lave mad.
For meal1, kombiner set3 og meat1 sådan her: meal1 = set3.union(meat1). Gå til det mørke X-mærke over det lilla tæppe, og med Set meal1 brug speak()-funktionen til at bekræfte indholdet og place()-funktionen til at lave maden i gryden.
For meal2 gør det samme, men brug i stedet union-metoden med set3 og meat2. Gå til det mørke X-mærke over det gule tæppe og vend mod gryden, brug funktionerne speak() og place() med meal2 for at fuldføre niveauet.