Курс по разработка на 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". Подредете всичко правилно, за да завършите нивото.