Coding for KidsCoding for Kids
Kreative NivåerUtfordringerLærerveiledning
Stem på funksjoner
Avansert Pythonutviklingskurs
Kapittel
>
Nivå

Async/Await
Setter opp et spørsmål

Mål

Samle diverse kjøkkenmaterialer og gjør klar for matlaging ved å sette opp «spørsmål».

Det finnes forskjellige kjøkken- og matmaterialer som må settes opp og gjøres klare for senere bruk og konsum. For å legge til rette for dette kan du sette opp en question(); dette er en async funksjon lik write(), men i stedet for å vise en statisk melding, kan du vise et spørsmål med «Yes» og «No» alternativer.

For å sette opp question()-funksjonen må du også definere en egendefinert funksjon for å håndtere betingelser. Denne funksjonen må ha async skrevet foran for å etablere den som en async funksjon. Inne i den lagres question()-funksjonen i en variabel, og funksjonen har await skrevet foran, slik de andre async funksjonene har. Som argument tar question()-funksjonen en streng med spørsmålet du skal stille.

async def question_function(): answer = await player.question("Question you would like to ask") if answer: # Actions to take if answer is Yes else: # Actions to take if answer is No

Inne i funksjonen vil du ha en if-setning som bestemmer hvilken handling som skal utføres dersom svaret er sant eller usant. De egendefinerte spørsmål-funksjonene vil bli satt opp i kodeeditoren, og vil tillate deg å samle og/eller plassere flere elementer fra en enkelt kilde.

Elementene det er snakk om som må gjøres klare på kjøkkenet er: "water", "ice", "meat" og "potato". Disse elementene må samles og plasseres i ulike områder på kjøkkenet. "ice" må plasseres i en fryser, "water" må settes i gryten, og både "meat" og "potato" må plasseres i forskjellige ovner.

Først, gå til det gylne X-merket i rommet til høyre og bruk den egendefinerte funksjonen await dispencer() som er beskrevet i kodeeditoren. Vend deg mot iskassen og bruk funksjonen to (2) ganger. Den vil stille et spørsmål, og du må svare Yes for å collect() "ice" og No for å collect() "water".

Når du har samlet begge disse elementene, gå til det mørke X-merket ved siden av deg, foran fryseren, og bruk place()-funksjonen for å plassere "ice" inni fryseren. Slik: player.place("ice"). Gå deretter ned til det lyse X-merket foran en sekk, og bruk collect()-funksjonen for å plukke opp en "potato", slik: player.collect("potato").

Etterpå, gå til det mørke X-merket ved siden av den sentrale gryten og place() "water" du har samlet, slik: player.place("water"). Når det er gjort, gå opp til det lyse X-merket over, foran kjøleskapet, og samle "meat", slik: player.collect("meat").

Nå som du har samlet både "meat" og "potato", gå til de to (2) gyldne X-merkene i rommet til venstre og bruk den egendefinerte funksjonen await oven() som er skrevet i editoren. For spørsmålet, i den høyre ovnen, må du velge svaret for å bake "potato", og for den venstre ovnen må du velge svaret for å grill "meat" for å fullføre nivået.

Kodebok