Python-kehityskurssi
Luku
>
Taso

Sanakirjojen käyttö
Sanakirjojen läpikäynti

Tavoite

Kerää kaikki kentällä olevat materiaalit ja suorita inventointi kaikista kerätyistä esineistä ennen kuin asetat ne omiin säiliöihin.

Myrsky tuhosi sillan vieressä olevan lähettikunnan, hajottaen materiaaleja kaikkialle. Olen varma, että näitä materiaaleja voidaan käyttää myöhemmin. Suorita inventointi jokaisesta keräämästäsi esineestä ja vie ne varastoon, joka sijaitsee sillan yli.

Kerää ensin kaikki kentälle leviäneet roskat, eli: "branches" , "boulders" ja "planks". Kun olet kerännyt kaikki esineet, aseta ne sanakirjaan, jonka nimi on materials ja lisää siihen kaikkien kolmen materiaalin nimet ja määrät.

materials = {} materials["branches"] = number of branches collected ......

Kun kaikki on asetettu sanakirjaan, siirry valkoisen X-merkin luo ja suorita inventointi kaikista keräämistäsi materiaaleista käyttämällä for-silmukkaa ja speak()-funktiota. Koska sanakirjat eroavat listoista, et voi silmukoida niiden läpi samalla tavalla, vaan sanakirjoilla on oma tapansa tehdä tämä.

for name, number in materials.items(): player.speak("There were %d %s collected" % ( number, name))

Määrittelemällä kaksi muuttujaa, tässä tapauksessa name ja number, voit saada kaksi kenttää sanakirjasta. Käyttämällä in-lausetta, jota seuraa sanakirjan nimi ja funktio items(), voit iteroida sanakirjan läpi kuten tavallisessa for-silmukassa.

Inventoinnin suorittamisen jälkeen, kävele tummien X-merkkien luo ja tallenna sanakirjasta keräämäsi materiaalit säiliöihin käyttäen place()-funktiota, kuten esimerkiksi: player.place(materials["branches"]). Tummia X-merkkejä on kolme (3): vasempaan säiliöön laita "branches", keskimmäiseen säiliöön "boulders" ja oikeaan säiliöön "planks". Laita kaikki oikeaan paikkaan, jotta taso saadaan suoritettua.

Koodikirja