Coding for KidsCoding for Kids
Tahap KreatifCabaranPanduan Guru
Undi untuk ciri
Kursus Pembangunan Python Lanjutan
Bab
>
Tahap

Fungsi Lanjutan
Fungsi Bersarang

Objektif

Kumpul, edarkan semula dan simpan kain yang dihasilkan oleh mesin dengan menggunakan fungsi terbenam.

Kadang-kadang anda akan ingin meletakkan fungsi di dalam fungsi lain untuk mengembangkan keupayaan fungsi tersebut. Ini dipanggil fungsi terbenam atau fungsi dalaman, dan ia mempunyai pelbagai kegunaan, daripada mencipta kod ringkas yang boleh digunakan semula di dalam fungsi, hingga melindungi fungsi anda daripada manipulasi luar.

Di dalam bengkel terdapat beberapa mesin pembuat kain; ada yang menghasilkan kain yang sedia untuk disimpan, manakala yang lain memerlukan benang untuk menyelesaikan penghasilan kain. Setiap satu mempunyai permaidani berwarna "red" atau "green" di hadapannya yang akan menentukan cara ia digunakan. Dalam editor kod, satu Fungsi akan ditulis yang akan membolehkan kita mengoperasikan mesin dan sama ada mengumpul atau meletakkan bahan dari mesin tersebut.

def operate_machine(color): def collect_cloth(): # Collect Code player.speak("Cloth is ready for storage") def place_thread(): # Place Code player.speak("Machine needed more materials") if color == "green": collect_cloth() if color == "red": place_thread()

Fungsi ini dinamakan operate_machine dan mengambil argumen bernama color. Bergantung kepada permaidani berwarna apa yang terletak di hadapan mesin, memasukkan sama ada "red" atau "green" sebagai argumen akan mengubah operasi mesin tersebut membolehkan anda sama ada meletakkan atau mengumpul item.

Di dalam fungsi tersebut, anda akan menemui dua fungsi terbenam, dinamakan collect_cloth() dan place_thread() yang digunakan untuk tujuan seperti yang dinyatakan dalam nama mereka. Mereka kekurangan baris yang diperlukan untuk melaksanakan tindakan mereka; pada collect_cloth() tambah baris player.collect("cloth"), yang diikuti oleh player.speak("Quilt is ready for storage") dan pada place_thread() tambah baris player.place("thread") yang diikuti oleh player.speak("Machine needed more materials").

Setelah baris-baris kod yang hilang telah ditambah ke dalam fungsi terbenam, berjalanlah ke tanda X yang cerah di hadapan peti dan kumpulkan "thread" untuk digunakan dalam mesin, seperti ini player.collect("thread") .

Berjalanlah ke tanda X yang gelap di dalam bengkel dan gunakan fungsi khas operate_machine sambil menghadap ke mesin-mesin tersebut. Tambahkan sama ada "red" atau "green" sebagai argumen bergantung kepada warna permaidani tempat tanda X itu berada, contohnya: operate_machine("red") . Ini akan membolehkan anda meletakkan benang dan mengumpul kain.

Setelah anda mengumpul semua kain, berjalanlah ke tanda X berwarna emas di sebelah peti di belakang dan gunakan fungsi place() untuk menyimpan kain tersebut. Cipta pemboleh ubah bernama cloths, tambahkan kepadanya bilangan kain yang telah anda kumpul dan simpan di dalam peti bagi menyelesaikan tahap ini, seperti ini: player.place(cloths) .

Buku Kod