Python Udviklingskursus
Kapitel
>
Niveau
Brug af ordbøger
Brugerdefinerede funktioner ved brug af ordbøger
Mål
Brug en brugerdefineret funktion, der kører gennem marken, planter og vander afgrøder.
Marken har flere træer, der skal plantes, så skynd dig at hente posen med frø og fyld derefter din vandbeholder op ved brønden. Brug en brugerdefineret funktion med en ordbog til at køre gennem marken, og plant derefter og vand frøene.
Hent posen med frø, som vil give dig følgende træfrø i en ordbog: "orange : 3" , "pear : 4" , "apple : 3" , "peach : 2" . Gå til det lyse X-mærke ved siden af brønden og brug funktionen collect() til at samle vand, sådan her: player.collect("water") .
Når du har samlet alle nødvendige materialer, skal du oprette en brugerdefineret funktion med navnet sow_field, der bruger frøene og vandet til at plante og vande marken. Den brugerdefinerede funktion skal tage tre (3) argumenter, nemlig: tree , loops og direction . Ved hjælp af disse argumenter vil den brugerdefinerede funktion udføre en for løkke for at vande 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 argument, tree, er navnet på den nøgle, der bruges i ordbogen, nemlig "orange" , "pear" , "apple" og "peach" . Vælg det passende navn, når du planter.
Det næste argument er loops, og dette bestemmer antallet af cyklusser, du ønsker at funktionen skal køre for. Dette svarer til antallet af frø af hver type på marken. Det sidste argument er direction, nemlig "left" og "right" , vælg hvilken retning, du ønsker at spilleren skal bevæge sig i, når funktionen kører i løkke.
Gå til den øverste del af kortet, efter du har samlet vandet, og brug den brugerdefinerede funktion, sådan her: sow_field("orange", 3, "right") . Gør dette for alle træfrø for at fuldføre niveauet.