Coding for KidsCoding for Kids
Креативни НиваПредизвикателстваРъководство за Учители
Гласувайте за функции
Курс по усъвършенствано разработване с Python
Глава
>
Ниво

Async/Await
Настройване на въпрос

Цел

Съберете различни кухненски материали и ги пригответе за готвене, като настроите „въпроси”.

Съществуват различни кухненски и хранителни материали, които трябва да бъдат подредени и подготвени за по-късна употреба и консумация. За да улесните това, можете да настроите функцията question(), която е async функция, подобна на write(), но вместо да показва статично съобщение, можете да покажете въпрос с опции “Да” и “Не”.

За да настроите функцията question(), трябва също така да дефинирате потребителска функция, която да се справя с условията. Тази функция трябва да започва с async, за да се установи като async функция. Вътре в нея, функцията question() се присвоява на променлива и има await поставено пред нея, както и другите async функции. Като аргумент, функцията question() получава стринг със зададения въпрос, който ще зададете.

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

Вътре във функцията ще имате условен оператор if, който определя какво действие да се предприеме, ако отговорът е истина или лъжа. Потребителските функции за въпроси ще бъдат създадени в редактора на кода и ще ви позволят да събирате и/или поставяте множество предмети от един източник.

Предметите, които трябва да бъдат подготвени в кухнята, са: "water", "ice", "meat" и "potato". Тези предмети трябва да бъдат събрани и поставени в различни зони на кухнята. "ice" трябва да бъде поставен във фризера, "water" трябва да бъде поставена в тенджерата, а както "meat", така и "potato" трябва да бъдат поставени в различни фурни.

Първо, отидете до златния X в дясната стая и използвайте потребителската функция await dispencer(), описана в редактора на кода. Обърнете се към кухненския хладилник за лед и използвайте функцията два (2) пъти. Тя ще ви зададе въпрос и трябва да отговорите Yes, за да съберете "ice", и No, за да съберете "water".

След като съберете и двата тези предмета, отидете до тъмния X до вас, пред фризера, и използвайте функцията place() за да поставите "ice" във фризера. Например: player.place("ice"). След това отидете до светлия X пред торба и използвайте функцията collect() за да вземете "potato", например: player.collect("potato").

После, отидете до тъмния X до централната тенджера и използвайте функцията place() за да поставите "water", който сте събрали, например: player.place("water"). След като приключите, отидете до светлия X над нея, пред хладилника, и съберете "meat", например: player.collect("meat").

Сега, след като сте събрали както "meat", така и "potato", отидете до двата (2) златни X в лявата стая и използвайте потребителската функция await oven(), написана в редактора. При въпроса, в дясната фурна трябва да изберете отговора за печене на "potato", а в лявата фурна трябва да изберете отговора за грил на "meat", за да завършите нивото.

Книга с Код