Python Geliştirme Kursu
Bölüm
>
Seviye

Sözlükleri Kullanma
Sözlükler Üzerinde Döngü

Amaç

Alandaki tüm malzemeleri toparlayın ve bunları belirli kaplar içine koymadan önce toplanan tüm öğelerin envanterini çıkartın.

Köprü yakınındaki mevzide fırtına estikten sonra malzemeler her yere dağılmış durumda; eminim bu malzemeler ileriye dönük kullanılabilir. Topladığınız her nesnenin envanterini çıkarın ve bunları köprünün karşısındaki depo odasına yerleştirin.

Önce alandaki etrafa saçılmış tüm enkazı toplayın, bunlar: "branches", "boulders" ve "planks"'tır. Tüm öğeleri topladıktan sonra, bunları materials adlı bir sözlüğe yerleştirin ve içine üç (3) malzeme ismi ve miktarını ekleyin.

materials = {} materials["branches"] = number of branches collected ......

Her şey bir sözlüğe yerleştirildikten sonra, açık alandaki X işaretine gidin ve for döngüsü ile speak() fonksiyonunu kullanarak topladığınız tüm malzemelerin envanterini çıkarın. Sözlükler listelerden farklıdır; dolayısıyla bunları aynı sırayla döngüye alamazsınız, bunun yerine sözlüklerin kendi yöntemleri vardır.

for name, number in materials.items(): player.speak("There were %d %s collected" % ( number, name))

Bu örnekte name ve number adlı iki değişken belirleyerek, bir sözlükteki iki alanı elde edebilirsiniz. Sözlüğün adı ve items() fonksiyonu ile birlikte in ifadesini kullanarak, sözlüğü normal bir for döngüsü gibi döngüye dahil edebilirsiniz.

Envanter çıkarıldıktan sonra, karanlık X işaretlerine doğru ilerleyin ve topladığınız malzemeleri, sözlüğün içindeki kaplara place() fonksiyonunu kullanarak yerleştirin; örneğin: player.place(materials["branches"]). Üç (3) adet karanlık X işareti bulunmaktadır; sol kaptaki yere "branches", orta kaptaki yere "boulders" ve sağ kaptaki yere ise "planks" yerleştirin. Seviyeyi tamamlamak için her şeyi doğru konuma yerleştirin.

Kod Kitabı