Учебный курс по разработке на Python
Глава
>
Уровень
Использование словарей
Перебор словарей
Цель
Восстановить все материалы на местности и провести инвентаризацию всех собранных предметов перед тем, как убрать их в специальные контейнеры.
Шторм разрушил аванпост у моста, разбрасывая материалы повсюду, и я уверен, что эти материалы могут пригодиться позже. Проведи инвентаризацию каждого объекта, который поднимаешь, и убери их в склад, расположенный через мост.
Сначала собери все обломки, разбросанные на местности, а именно: "branches" , "boulders" и "planks". После того как соберешь все предметы, помести их в словарь с именем materials и добавь все три (3) наименования материала и их количества внутрь него.
materials = {} materials["branches"] = number of branches collected ......
После того как всё будет помещено внутрь словаря, направляйся к светлой X и проведи инвентаризацию всех материалов, которые ты собрал, используя цикл for с функцией speak(). Так как словари отличаются от списков, их нельзя перебирать в последовательности таким же образом; вместо этого у словарей есть свой метод для этого.
for name, number in materials.items(): player.speak("There were %d %s collected" % ( number, name))
Создав две переменные, в данном случае name и number, ты сможешь получить два поля из словаря. Используя оператор in, за которым следует имя словаря и функция items(), можно перебирать словарь как обычный цикл for.
После проведения инвентаризации, подойди к темным X и помести собранные материалы из словаря в контейнеры с помощью функции place(), например: player.place(materials["branches"]). Всего имеется три (3) темных X: в левом контейнере помести "branches", в среднем контейнере помести "boulders", а в правом контейнере помести "planks". Убери все на свои места, чтобы пройти уровень.