Edistynyt Python-kehityskurssi
Luku
>
Taso
Kehittyneet listat
Joukon luominen
Tavoite
Järjestä kaapin mausteet asianmukaisiin kategorioihin ja sijoita ne hyllyihin käyttämällä joukkoja.
Kaapissa on useita mausteita, jotka ovat kaikki käyttövalmiita, mutta ne ovat epäjärjestyksessä eivätkä helposti saatavilla. Ne täytyy jakaa asianmukaisesti viereisille tyhjille hyllyille, jotka on jo käytetty loppuun.
Mausteet on jaettu kolmeen (3) listaan, joita voidaan järjestää uudelleen käyttämällä joukkoja. Joukot ovat listoja, joissa ei esiinny toistuvia kohteita, niitä voidaan myös järjestää eri tavoilla ja verrata muihin joukkoihin tiettyjen kohteiden löytämiseksi tai korostamiseksi.
Kaapissa on tallennettuna kolme vakio-listaa, jotka on nimetty: condiments1, condiments2 ja condiments3. Kävele valoisen X-merkin luo tarkistaaksesi listojen sisällön käyttämällä speak()-funktiota ja kerää kaikki kolme (3) listaa käyttämällä collect()-funktiota, esimerkiksi näin: player.speak(condiments1),player.collect(condiments1).
Joukot luodaan kirjoittamalla set() listan tai listan kohteiden kanssa argumenttina, jonka jälkeen joukolla annetaan nimi. Luo kolme (3) joukkoa nimeltään: set1, set2 ja set3 ja aseta ne vastaamaan niiden numeroituja vakio-listoja, esimerkiksi: set1 = set(condiments1).
Kun olet kerännyt ne, kävele tummalle X-merkin kohdalle vihreän maton yläpuolelle, käänny pöydän suuntaan ja suodata listat joukkojen avulla. Käytä speak()-funktiota kaikilla juuri luomillasi kolmella joukolla, esimerkiksi: player.speak(set1).
Jatka kävelemällä tummalle X-merkin kohdalle sinisen maton yläpuolelle ja yhdistä kohteet tarkistamalla, mitä mausteita on kaikissa kolmessa (3) listassa. Tee tämä käyttämällä intersection()-metodia, joka mahdollistaa joukkojen vertailemisen ja löytää kohteet, jotka ovat kaikissa kolmessa.
Nimeä tuloksena saatu joukko duplicates ja yhdistä se, esimerkiksi näin: duplicates = set1.intersection(set2,set3), käytä speak()-funktiota vahvistaaksesi tuloksena saadun joukon.
Kävele punaiselle matolle, jolla on tumma X-merkki, ja yhdistä kaikki kolme joukkoa yhdeksi yksittäiseksi joukoksi käyttämällä union()-metodia. Sitä käytetään samalla tavalla kuin intersection()-metodia, mutta se kerää kaikki kohteet kaikista kolmesta (3) joukosta ja sijoittaa ne yhteen joukkoon ilman toistoja.
Nimeä tuloksena saatu joukko all_items ja yhdistä se, esimerkiksi näin: all_items = set1.union(set2,set3), käytä speak()-funktiota vahvistaaksesi tuloksena saadun joukon.
Kun kaikki on yhdistetty, kävele kultaiselle X-merkin kohdalle ja käänny hyllyjen suuntaan, käytä place()-funktiota asettaaksesi kaikki mausteet tyhjälle hyllylle suorittaaksesi tason, esimerkiksi näin: player.place(all_items).