Kursus Pembangunan Python Lanjutan
Bab
>
Tahap
Senarai Lanjutan
Mencipta Senarai Bersarang
Objektif
Simpan perasa dengan betul dalam rak rempah menggunakan senarai bersarang.
Salah satu rak rempah kosong dan perlu diisi semula dengan betul; terdapat perasa dalam storan tetapi ia perlu disusun dengan betul dan diatur serta diletakkan dalam rak rempah.
Disebabkan oleh jumlah item yang banyak dan kerana ia disimpan di atas rak yang berbeza dalam sebuah rak rempah, senarai dan kamus biasa tidak akan mencukupi. Dalam situasi seperti ini, anda boleh menggunakan Senarai Bersarang, iaitu senarai yang mengandungi satu atau lebih senarai di dalamnya.
Untuk menyimpan rempah, anda perlu mengambil balang bagi menyimpan item dengan betul, pergi ke tanda X emas, hadapan kepada peti simpanan, dan gunakan fungsi collect() untuk mengambil "empty jar" bagi memudahkan penyimpanan.
Setelah balang dikumpulkan, pergi ke tanda X yang cerah di hadapan peti kayu. Terdapat empat (4) pemalar senarai dalam tahap ini, satu untuk setiap peti simpanan, iaitu: crate1, crate2, crate3, dan crate4. Gunakan fungsi speak() dengan pemalar senarai ini untuk menentukan kandungan setiap peti, pemalar tersebut mewakili peti dari kanan ke kiri, contohnya player.speak(crate1).
Setelah anda menentukan kandungan peti, gunakan List Comprehensions untuk membuat senarai baru tanpa sebarang item yang tidak diperlukan yang terdapat dalam pemalar senarai. Jika kandungan peti termasuk: "package", "string" atau "stuffing", gunakan formula yang sama seperti dalam bab sebelumnya untuk mengurus senarai, sebagai contoh:
crate1 = ["bay herb", "cilantro herb", "ginger herb", "oregano herb", "string"] herbs = [x for x in crate1 if not "string" in x]
Kod di atas akan membuat senarai baru dengan item yang tidak termasuk perkataan "string". Senarai tersebut hendaklah dinamakan: herbs, spices, salts dan sugars, anda akan tahu senarai mana yang perlu dinamakan demikian kerana item dalam senarai membawa nama tersebut.
Setelah keempat-empat senarai telah dibuat, tiba masanya untuk menggabungkan semuanya ke dalam sebuah Senarai Bersarang. Buat senarai bernama seasonings dan lampirkan senarai-senarai yang anda buat ke dalam senarai baru, seperti berikut:
seasonings = [ ] seasonings.append(herbs) .......
Setelah semua item digabungkan ke dalam Senarai Bersarang, pergi ke tanda X gelap pada karpet hijau dan hadapkan rak tersebut. Gunakan fungsi speak() bersama-sama dengan senarai bersarang seasonings untuk menyemak item pada setiap rak. Selepas itu, gunakan fungsi place() dengan senarai tersebut bagi melengkapkan tahap, seperti berikut: player.speak(seasonings).