Программирование для начинающих с блоками
Глава
>
Уровень

Расширенные списки и структуры данных
Перебор списков

Цель

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

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

Сначала соберите весь мусор, разбросанный на поле, а именно: "branches", "boulders" и "planks". Как только вы соберёте все предметы, поместите их во вложенную структуру списка (словарь) с именем materials и добавьте в неё все три (3) названия материалов и их количества, используя блок set dict value.

После того как всё будет помещено во вложенную структуру списка, направляйтесь к светлой X-марке и проведите инвентаризацию всех собранных материалов с помощью блока for each in dictionary и функции speak. Этот специальный блок цикла позволяет итерироваться по вложенным структурам списка (словарям), предоставляя две переменные: одну для ключа (name) и одну для значения (number).

Используйте блок for each in dictionary с переменными name и number, и словарь materials. Внутри цикла используйте блок speak с блоком text join для объединения строк: "There were ", переменная number, " ", переменная name и " collected".

После проведения инвентаризации пройдите к темным X-маркам и разместите собранные материалы из вложенной структуры списка по контейнерам с помощью блока place. Используйте блок get dict value для доступа к каждому материалу, например get dict value с materials и ключом "branches", затем соедините его с блоком place. Всего имеется три (3) темные X-марки: в левом контейнере разместите "branches", в среднем — "boulders", а в правом — "planks". Разместите всё в правильном порядке, чтобы завершить уровень.

Книга Кода