Pythonutviklingskurs
Kapittel
>
Nivå

Bruke ordbøker
Tilpassede funksjoner ved bruk av ordbøker

Mål

Bruk en egendefinert funksjon som løper gjennom marken, planter og vanner avlingene.

Marken har flere trær som må plantes, hent sekken med frø og fyll deretter opp vannet ditt ved brønnen. Bruk en egendefinert funksjon med en ordbok for å løpe gjennom marken, og plant deretter og vann frøene.

Hent sekken med frø som gir deg følgende tresorter i en ordbok: "orange : 3" , "pear : 4" , "apple : 3" , "peach : 2" . Gå til X-merket ved siden av brønnen som viser lys og bruk collect()-funksjonen for å samle vann, slik: player.collect("water") .

Når du har samlet alle nødvendige materialer, opprett en egendefinert funksjon kalt sow_field som bruker frøene og vannet til å plante og irrigere marken. Den egendefinerte funksjonen tar tre (3) argumenter, nemlig: tree, loops og direction. Ved å bruke disse argumentene vil den egendefinerte funksjonen utføre en for-løkke for å irrigere marken.

def sow_field(tree,loops,direction): for x in range(loops): if direction == "right": player.move_forward(2) player.turn_left() player.plant(seeds,tree) player.water() player.turn_right() player.move_forward() if direction == "left": player.move_forward() player.turn_right() player.plant(seeds,tree) player.water() player.turn_left() player.move_forward(2)

Det første argumentet, tree, er navnet på nøkkelen brukt i ordboken, som er "orange", "pear", "apple" og "peach". Velg riktig navn når du planter.

Det neste argumentet er loops, og dette bestemmer antall ganger du ønsker at funksjonen skal løpe. Dette tilsvarer antallet frø av hver type på marken. Det siste argumentet er direction, som er enten "left" eller "right", velg hvilken retning du ønsker at spilleren skal bevege seg i når funksjonen løper.

Gå til den øverste delen av kartet etter å ha samlet vannet og bruk den egendefinerte funksjonen, slik: sow_field("orange", 3, "right") . Gjør dette for alle tresorter for å fullføre nivået.

Kodebok