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

Modul Matematik
Modul Operator

Objektif

Sahkan dan aturkan pesanan bahan binaan tanah baru menggunakan modul operator.

Tingkat atas bangunan sampingan mempunyai beberapa pejabat yang menyimpan log inventori dan pesanan untuk bahan binaan yang diperlukan bagi pembangunan tanah baru. Terdapat pelbagai alat yang boleh digunakan untuk mengesahkan dan mengira bahan supaya ia boleh digunakan untuk pembinaan, selain modul matematik dan statistik, kita boleh menggunakan modul operator.

Modul ini, import operator, boleh digunakan untuk memudahkan pengiraan operator dan dengan mudah menggabungkannya ke dalam fungsi. Anda boleh menggunakan fungsi-fungsi ini untuk kedua-dua pengoptimuman dan untuk menghasilkan nilai tanpa perlu mencipta objek untuk menyimpan nilai pengiraan.

  • operators.eq(): Mengambil dua argumen, menyemak sama ada argumen tersebut sama antara satu sama lain.
  • operators.lt(): Mengambil dua argumen, memeriksa sama ada argumen pertama kurang daripada argumen kedua.
  • operators.gt(): Mengambil dua argumen, memeriksa sama ada argumen pertama lebih besar daripada argumen kedua.
  • operators.floordiv(): Mengambil dua argumen, membahagikan argumen pertama dengan argumen kedua dan menerapkan sesuatu yang setara dengan math.floor(), membundarkan hasil ke bawah.
  • operators.mod(): Mengambil dua argumen, mengembalikan baki daripada pembahagian kedua-dua argumen tersebut.
  • operators.contains(): Fungsi ini digunakan dengan senarai, mengambil dua (2) argumen; argumen pertama ialah senarai, dan argumen kedua ialah nilai yang ingin disemak jika terdapat dalam senarai. Mengembalikan: true atau false bergantung sama ada nilai tersebut hadir atau tidak.
  • operators.concat(): Mengambil dua argumen senarai, menggabungkan kedua-dua senarai tersebut menggunakan fungsi yang bersih, boleh menjadi lebih cepat berbanding kaedah lain.
  • operators.countOf(): Mengambil dua argumen, satu senarai dan satu nilai untuk menyemak berapa kali nilai itu muncul dalam senarai. Mengembalikan bilangan kemunculan nilai tersebut.

Untuk memulakan, berjalanlah ke tanda X gelap di atas karpet berwarna merah, biru dan hijau. Terdapat enam (6) pemalar: red_order, blue_order, green_order, yang merupakan pesanan untuk bahan, dan: red_req, blue_req, green_req yang merupakan jumlah keperluan bagi pembinaan.

Di atas tanda X gelap di atas karpet merah, gunakan fungsi read() untuk menyemak jumlah bahan yang diperlukan. Cipta satu pemboleh ubah bernama red_verification dan gunakan fungsi operator.eq() dengan pemalar red_order dan red_req, seperti berikut: red_verification = operator.eq(red_order,red_req). Dengan fungsi write() yang telah disediakan, gunakan red_verification untuk memaparkan hasilnya.

Di atas tanda X biru dan hijau, ulang proses yang sama, gunakan fungsi read() dan cipta pemboleh ubah: blue_verification dan green_verification. Untuk pemboleh ubah biru, simpan nilai operator.lt() menggunakan pemalar blue_order dan blue_req untuk menyemak jika pesanan tersebut kurang daripada keperluan. Untuk pemboleh ubah hijau, simpan nilai operator.gt() menggunakan pemalar green_order dan green_req untuk menyemak jika pesanan tersebut lebih besar daripada keperluan bahan. Gunakan fungsi write() yang telah disediakan dengan fungsi pengesahan yang bersesuaian untuk karpet berwarna tersebut.

Seterusnya, berjalanlah ke tanda X terang dan di atas meja, gunakan fungsi read() untuk menyemak pesanan yang telah dibuat dan sedang dalam perjalanan. Dalam buku pesanan, anda akan menemui nilai dua pemalar: main_order dan sub_order serta berapa banyak bahagian bahan perlu dibahagikan. Selepas membaca buku pesanan, cipta satu pemboleh ubah bernama allocations dan simpan nilai operator.floordiv() untuk membahagikan nilai main_order dengan jumlah bahagian yang diterangkan dalam buku, seperti berikut: allocations = operator.floordiv(main_order, -add sections-) yang akan membahagikan pesanan dan membundarkan hasil ke bawah. Gunakan fungsi write() yang telah disediakan dengan pemboleh ubah allocations untuk mencatat keputusan tersebut.

Berjalanlah ke tanda X emas dan cipta satu pemboleh ubah bernama remainder, simpan hasil operator.mod() dan tambahkan kedua-dua pemalar main_order dan sub_order untuk menghasilkan baki kedua-dua pesanan. Di atas meja, gunakan fungsi write() yang telah disediakan dan sertakan pemboleh ubah remainder untuk mencatat hasilnya.

Pergilah ke tanda X gelap di atas karpet ungu, di sini kita akan mengesahkan jika penghantaran alat-alat yang diperlukan untuk pembinaan telah dilakukan. Kita mempunyai dua pemalar senarai, delivery_1 dan delivery_2, dan kita akan menyemak jika alat-alat tersebut dihantar dalam penghantaran pertama. Cipta satu pemboleh ubah bernama tools dan simpan hasil operator.contains(), untuk argumen pertama masukkan senarai delivery_1 dan untuk argumen kedua masukkan string "tools". Ini akan menyemak jika alat-alat tersebut terdapat dalam penghantaran, seperti berikut: tools = operator.contains(delivery_1,"tools"). Setelah itu selesai, di atas meja, gunakan fungsi write() yang telah disediakan dengan pemboleh ubah tools untuk mencatat jika alat-alat tersebut telah berjaya dihantar.

Seterusnya, untuk menyemak semua penghantaran, berjalanlah ke tanda X gelap di atas karpet putih dan cipta satu senarai bernama materials. Gunakannya untuk menyimpan nilai operator.concat(), dengan menggunakan senarai delivery_1 dan delivery_2 sebagai argumen. Apa yang dilakukan ialah ia dengan cepat menggabungkan kedua-dua senarai tersebut menjadi satu senarai tunggal. Di atas meja, gunakan fungsi write() yang telah disediakan dengan pemboleh ubah materials untuk mencatat semua bahan yang telah dihantar untuk pembinaan.

Akhir sekali, berjalanlah ke tanda X gelap di atas karpet oren, di mana terdapat beberapa prasyarat yang ditulis sebelum memulakan pembinaan, salah satu nota utama ialah berapa banyak kayu yang diperlukan pada permulaan dalam ton. Semak berapa banyak kayu yang telah dihantar dalam keseluruhan penghantaran dan umumkan, gunakan fungsi speak() bersama fungsi operator.countOf(). Untuk argumen pertama, masukkan senarai materials yang telah anda cipta diikuti dengan string "wood", ini akan mengembalikan bilangan kali kayu muncul dalam senarai materials. Ini menunjukkan bagaimana fungsi operator boleh digunakan secara berdikari tanpa perlu menyimpannya dalam objek, seperti berikut: player.speak(operator.countOf(materials,"wood")). Ini akan melengkapkan tahap tersebut.

Buku Kod