Coding for KidsCoding for Kids
Niveluri CreativeProvocăriGhid pentru Profesori
Votează pentru funcții
Curs Avansat de Dezvoltare Python
Capitolul
>
Nivel

Async/Await
Configurarea unei întrebări

Obiectiv

Adună diverse materiale din bucătărie și pregătește pentru gătit prin setarea unor „întrebări”.

Există diverse materiale din bucătărie și alimente care trebuie pregătite și prelucrate pentru utilizare ulterioară și consum. Pentru a facilita acest proces poți seta o funcție question(), aceasta fiind o funcție async similară cu write(), dar în loc să afișeze un mesaj static, poți afișa o întrebare cu opțiunile “Yes” și “No”.

Pentru a configura funcția question() trebuie să setezi și o funcție personalizată pentru a gestiona condițiile. Această funcție trebuie să aibă la început cuvântul async pentru a o defini ca funcție async. În interior, funcția question() este stocată într-o variabilă, iar funcția are await scris în față, la fel ca celelalte funcții async. Ca argument, funcția question() primește un șir de caractere cu întrebarea pe care urmează să o adresezi.

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

În interiorul funcției vei avea o instrucțiune if care determină ce acțiune să se întreprindă, în funcție de răspunsul adevărat sau fals. Funcțiile personalizate de tip întrebare vor fi setate în editorul de cod și îți vor permite să aduni și/sau să plasezi mai multe obiecte dintr-o singură sursă.

Obiectele care trebuie pregătite în bucătărie sunt: "water", "ice", "meat" și "potato". Aceste obiecte trebuie adunate și plasate în diferite zone ale bucătăriei. "ice" trebuie plasat în interiorul unui congelator, "water" trebuie pus într-o oală, iar "meat" și "potato" trebuie plasate în cuptoare diferite.

Mai întâi, mergi către semnul X auriu din camera din dreapta și folosește funcția personalizată await dispencer() care este descrisă în editorul de cod. Îndreaptă-te spre cutia de gheață și folosește funcția de două (2) ori. Aceasta îți va pune o întrebare și trebuie să răspunzi Yes pentru a apela collect() pe "ice" și No pentru a apela collect() pe "water".

După ce ai adunat ambele obiecte, mergi către semnul X închis de lângă tine, în fața congelatorului, și folosește funcția place() pentru a depune "ice" în interiorul congelatorului. Așa: player.place("ice"). Apoi, coboară la semnul X deschis din fața unui sac și folosește funcția collect() pentru a lua un "potato" astfel: player.collect("potato").

După aceea, mergi la semnul X închis de lângă oala centrală și folosește funcția place() pentru a depune "water" pe care l-ai adunat, astfel: player.place("water"). Odată ce ai terminat, mergi la semnul X deschis de deasupra acestuia, în fața frigiderului, și adună "meat" astfel: player.collect("meat").

Acum că ai adunat atât "meat" cât și "potato", mergi la cele două (2) semne X aurii din camera din stânga și folosește funcția personalizată await oven() care este scrisă în editor. Pentru întrebare, la cuptorul din dreapta trebuie să alegi răspunsul pentru a coace "potato" iar la cuptorul din stânga trebuie să alegi răspunsul pentru a frige "meat", pentru a finaliza nivelul.

Carte de Cod