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

Kelas Lanjutan
Pengoperasian Semula Operator

Objektif

Kira berapa banyak wain yang sedang diperjelaskan menggunakan vektor dan Operator Overloading.

Selepas wain ditekan, ia perlu ditapis dan diperjelaskan. Terdapat beberapa tong yang sedang ditapis dan semuanya perlu dibilas. Adalah penting untuk mengira berapa banyak wain yang sedang dihasilkan supaya tong boleh ditutup dan diperam.

Untuk melakukan ini, anda perlu mencipta vektor dan menambahnya bersama-sama. Ini serupa dengan senarai tetapi tidak semudah senarai dari segi kebolehsuaian tetapi lebih cekap dalam penggunaan memori. Mereka biasanya digunakan untuk mengendalikan koordinat, dalam kes ini kita akan menggunakannya seperti pemboleh ubah yang menyimpan lebih daripada satu nilai. Menambah vektor bersama-sama dilakukan dengan menggunakan Operator Overloading yang meluaskan fungsi objek kelas supaya operator boleh digunakan dengan mereka seperti mana anda gunakan pada nilai biasa.

Untuk bermula, berjalan dan kumpulkan tin air logam yang terletak di bahagian atas bilik, ini akan digunakan untuk membantu membilas wain yang sedang ditapis dalam tong. Setelah dikumpulkan, berjalan ke tanda X gelap di atas permaidani merah, hadap tong tersebut dan mulakan vectorisasi kandungan setiap tong.

Tanda X disusun dalam kumpulan tiga (3) untuk setiap permaidani berwarna, iaitu tanda X emas, tanda X cerah dan tanda X gelap. Pada semua tanda X gelap dan cerah, gunakan fungsi water() untuk membantu membilas tong. Juga pada semua tanda X gelap dan cerah, gunakan fungsi read() untuk mengenal pasti berapa banyak wain yang sedang diproses dalam lajur tong tersebut. Pada tanda X emas, anda menggunakan fungsi write() untuk mencatat jumlah keseluruhan.

Dalam penyunting kod terdapat kelas yang dinamakan vector, ini digunakan agar anda bukan sahaja dapat mencipta vektor tetapi juga menambahnya bersama-sama. Cipta objek vector untuk menyimpan data yang dikenal pasti pada tanda X cerah dan gelap, contohnya, pada permaidani merah, wain merah sedang ditapis:

# Create object using data from dark X mark red_wine_dark = vector(345, 272) # Create object using data from light X mark red_wine_light = vector(248, 432) # Add together vectors for totals red_wine_total = red_wine_dark + red_wine_light

Dalam vektor, kedudukan pertama dipanggil x dan kedudukan kedua ialah y, formula adalah seperti berikut: object_name = vector(x,y). Ini adalah penting untuk mengisi vektor dengan maklumat yang diperoleh daripada fungsi read().

Pada tanda X emas, gunakan fungsi write() untuk mencatat jumlah bagi setiap set vektor, contohnya, dalam kes tanda X permaidani merah ia ditulis seperti berikut:

await player.write( "There is a total of %s pounds on the left barrels and %s pounds on the right barrels" % (red_wine_total.x, red_wine_total.y)

Ingat untuk menambah .x dan .y di akhir jumlah untuk mengenal pasti nilai setiap vektor.

Untuk setiap set permaidani berwarna terdapat jenis wain yang berbeza yang sedang ditapis. Pada permaidani merah yang disebutkan tadi, red_wine ditapis; pada permaidani kuning, sparkling_wine ditapis; pada permaidani hijau, white_wine ditapis; dan pada permaidani oren, orange_wine sedang ditapis.

Setelah semua tanda X cerah dan gelap telah dibilas dengan fungsi water() dan semua tanda X emas mempunyai jumlah yang dicatatkan, anda akan menyelesaikan tahap tersebut.

Buku Kod