Kursus Pembangunan Python
Bab
>
Tahap

Menggunakan Kamus
Mengiterasi Kamus

Objektif

Pulihkan semua bahan di lapangan dan jalankan inventori bagi semua item yang dikumpul sebelum menyimpannya dalam bekas khusus.

Satu ribut telah merosakkan pos terjaga berhampiran jambatan dan menyebarkan bahan ke mana-mana, saya pasti bahan-bahan itu boleh digunakan kemudian. Jalankan inventori bagi setiap objek yang anda ambil dan simpan di dalam storeroom di seberang jambatan.

Pertama, kumpulkan semua serpihan yang berselerak di ladang, iaitu: "branches" ,"boulders" dan "planks". Setelah anda mengumpulkan semua item, letakkan mereka dalam sebuah kamus yang dinamakan materials dan tambahkan ketiga-tiga (3) nama bahan dan kuantitinya ke dalamnya.

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

Setelah semuanya dimasukkan ke dalam kamus, pergi ke tanda X yang terang dan jalankan inventori bagi semua bahan yang telah anda kumpulkan menggunakan gelung for dengan fungsi speak(). Oleh kerana kamus berbeza daripada senarai, anda tidak boleh mengulanginya secara berurutan dengan cara yang sama; sebaliknya, kamus mempunyai kaedah tersendiri untuk melakukannya.

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

Dengan menetapkan dua pembolehubah, dalam kes ini name dan number, anda boleh mendapatkan dua medan dalam kamus. Menggunakan pernyataan in diikuti dengan nama kamus dan fungsi items() membolehkan anda mengiterasi kamus seperti gelung for biasa.

Selepas menjalankan inventori, berjalanlah ke tanda X yang gelap dan simpan bahan yang telah anda kumpulkan dari kamus ke dalam bekas menggunakan fungsi place(), seperti berikut: player.place(materials["branches"]). Terdapat tiga (3) tanda X yang gelap: pada bekas kiri letakkan "branches", pada bekas tengah letakkan "boulders" dan pada bekas kanan letakkan "planks". Simpan semuanya di tempat yang betul untuk melengkapkan tahap ini.

Buku Kod