Coding for KidsCoding for Kids
Творческие УровниИспытанияРуководство для Учителей
Голосовать за функции
Продвинутый курс разработки на Python
Глава
>
Уровень

Асинхронность/Ожидание
Чтение сообщений

Цель

Проверьте, что номера предметов в винном погребе указаны правильно, используя функцию read(), и подведите итог оставшихся запасов.

В винном погребе хранится несколько ящиков с бутылками вина, которые нужно переместить наверх для распределения. В кладовой на столах будут лежать записки с заказами, рядом с которыми будут находиться ящики с бутылками. Вам нужно убедиться, что количество бутылок в каждом ящике совпадает с количеством в записках, и дополнить любые отсутствующие предметы.

Сначала соберите рассыпанные бутылки, которые находятся в винной комнате, чтобы у вас был запас для дополнения любых предметов, отсутствующих в заказах. Существует три (3) типа бутылок вина, после их сбора создайте переменные для них: empty_bottles, purple_bottles, yellow_bottles и сохраните количество каждой из собранных вами бутылок в этих переменных.

После того, как вы собрали все бутылки в поле, идите к световым меткам X внутри кладовой и повернитесь к запискам. Используйте функцию read(), чтобы прочитать информацию о заказе на записке, вызвав всплывающее окно. Подобно функции write(), функция read() является асинхронной функцией, которая требует использования await перед написанием кода, как это: await player.read().

Записки кодированы по цвету ковров под ними, после ознакомления с номерами заказов идите к темным меткам X перед ящиками, кодированными по цвету, и используйте функцию speak() для проверки содержимого каждого ящика. Существует три (3) константы, соответствующие каждому из ящиков: green_crate, blue_crate и red_crate.

Проверьте, что содержимое каждого ящика совпадает с запиской на ковре соответствующего цвета. Если в ящиках недостающие предметы, указанные в записке, добавьте их в соответствующие ящики. Создайте переменные: empty_missing, purple_missing и yellow_missing и добавьте количество каждой недостающей бутылки в содержимое ящика.

Когда переменные установлены, используйте функцию place(), чтобы добавить недостающие бутылки в ящики, например: player.place(empty_missing). После установки всех предметов идите к золотой метке X и write() итог всех оставшихся бутылок, которые не были помещены в ящики.

Черновик сообщения будет написан в редакторе кода, установите правильное количество каждой из оставшихся бутылок, которые вы не помещали, путем вычитания двух созданных вами переменных, например: empty_bottles-empty_missing. Как только все оставшиеся предметы будут посчитаны, уровень будет завершен.

Книга Кода