Kursus Pembangunan Python
Bab
>
Tahap
Menggunakan Kamus
Fungsi tersuai menggunakan kamus
Objektif
Gunakan fungsi tersuai yang melenggang melalui ladang, menanam dan menyiram tanaman.
Ladang itu mempunyai beberapa pokok yang perlu ditanam, ambil beg yang mengandungi benih kemudian isikan semula air anda di perigi. Gunakan fungsi tersuai dengan kamus untuk melenggang melalui ladang, dan tanam serta siram benih-benih tersebut.
Ambil beg benih yang akan memberikan anda benih pokok berikut dalam kamus: "orange : 3", "pear : 4", "apple : 3", "peach : 2". Berjalan ke tanda X cahaya yang terletak berhampiran perigi dan gunakan fungsi collect() untuk mengumpul air, seperti ini: player.collect("water").
Setelah anda mengumpul semua bahan yang diperlukan, cipta fungsi tersuai bernama sow_field menggunakan benih dan air untuk menanam dan menyiram ladang. Fungsi tersuai ini akan mengambil tiga (3) argumen, iaitu: tree, loops dan direction. Menggunakan argumen-argumen ini, fungsi tersuai akan menjalankan gelung for untuk menyiram ladang.
def sow_field(tree,loops,direction):
for x in range(loops):
if direction == "right":
player.move_forward(2)
player.turn_left()
player.plant(seeds,tree)
player.water()
player.turn_right()
player.move_forward()
if direction == "left":
player.move_forward()
player.turn_right()
player.plant(seeds,tree)
player.water()
player.turn_left()
player.move_forward(2)
Argumen pertama, tree adalah nama kunci yang digunakan dalam kamus, iaitu "orange", "pear", "apple" dan "peach". Pilih nama yang sesuai ketika menanam.
Argumen seterusnya adalah loops dan ini menentukan bilangan kitaran yang anda ingin fungsi tersebut laksanakan. Ia sama dengan bilangan benih setiap jenis di ladang. Argumen terakhir ialah direction, iaitu "left" dan "right", pilih arah yang anda ingin pemain bergerak apabila menjalankan fungsi tersebut.
Bergerak ke bahagian paling atas peta selepas mengumpul air dan gunakan fungsi tersuai itu, seperti ini: sow_field("orange", 3, "right"). Lakukan ini untuk semua benih pokok untuk menyelesaikan tahap.