Coding for KidsCoding for Kids
Level KreatifTantanganPanduan Guru
Voting untuk fitur
Kursus Pengembangan Python Lanjutan
Bab
>
Tingkat

Penanganan Eksepsi
Klausa else

Tujuan

Ambil bahan perbaikan dan sortir, lalu buang limbah yang tidak diinginkan dengan menggunakan klausa else bersama penanganan pengecualian.

Beberapa bahan perbaikan telah disimpan di puncak gedung; bahan-bahan ini digunakan untuk memperbaiki atap setelah badai atau keausan umum. Beberapa baru saja dikirim dan masih disimpan dalam pembungkus dan wadah, sementara yang lain telah disimpan sangat lama dan tercampur dengan sampah. Akan menjadi ide yang baik untuk menyortir bahan-bahan tersebut, menyimpannya dengan benar, dan membuang sampah serta limbah.

Karena sifat bahan yang tidak teratur, Anda mungkin akan menemui kesalahan. Anda bisa mengatasinya dengan blok kode try / except namun hal ini bisa sedikit rumit jika Anda tidak terbiasa dengan jenis kesalahan yang mungkin terjadi. Namun, Anda dapat memperluas alat penanganan pengecualian dengan menambahkan klausa else. Ini memungkinkan Anda menjalankan kode jika blok except tidak dijalankan, sehingga menyederhanakan kode Anda dan sangat cocok untuk mengidentifikasi serta membersihkan kesalahan.

Untuk memulai, Anda harus masuk ke ruang penyimpanan sebelah kiri dan berjalan menuju tanda X berwarna terang. Ruangan ini menyimpan shingles yang digunakan untuk memperbaiki genteng atap. Gunakan fungsi collect() untuk mengambil konstanta daftar bernama shingles.

Daftar tersebut kemungkinan besar memiliki beberapa bahan sampah yang tercampur dan perlu dihilangkan, apalagi bahan-bahan tersebut disimpan dalam enam (6) kompartemen berbeda, masing-masing dengan jumlah bahan tersendiri. Anda perlu mengkonsolidasikan semua bahan ke dalam satu tumpukan. Buatlah variabel bernama red_storage untuk menyimpan semua bahan dan sebuah daftar bernama junk untuk menampung semua limbah.

Biasanya Anda hanya akan mengidentifikasi bahan-bahan tersebut, mengubahnya menjadi bilangan bulat dengan int() dan menyimpannya ke dalam variabel agar dapat disimpan. Namun, seperti yang mungkin Anda duga, mengingat level sebelumnya dalam bab ini dan subjek latihan ini, kesalahan pasti akan terjadi.

for x in range(6): player.speak(int(shingles[x])) red_storage+=int(shingles[x])

Sayangnya, kode di atas akan menghasilkan Value Error, karena beberapa item dalam daftar tampaknya bukan angka. Untuk mengatasi hal ini, Anda dapat menggunakan blok kode try / except dan else untuk menyortir bahan-bahan tersebut. Dengan menggunakan blok else, kita secara efektif mengubah blok except menjadi filter yang menghilangkan elemen yang tidak diinginkan dalam daftar, sementara blok else menangkap dan memindahkan elemen yang baik dari daftar ke variabel yang kita buat.

for x in range(6): try: player.speak(int(shingles[x])) except: player.speak("Item %s is junk" % (x)) junk.append(shingles[x]) else: red_storage+=int(shingles[x])

Dengan ini, variabel red_storage sekarang memiliki semua shingles yang dapat digunakan, sedangkan semua sampah telah ditambahkan ke dalam daftar junk. Pergilah ke tanda X berwarna emas di ruang penyimpanan sebelah kiri tempat Anda berada saat ini, dan gunakan fungsi write() untuk mencatat jumlah shingles yang siap untuk disimpan, seperti ini: await player.write("There are %s shingles ready for use in storage" % (red_storage)) Kemudian, pergilah ke tanda X berwarna gelap di atas karpet merah dan gunakan fungsi place() untuk menyimpan variabel red_storage ke dalam peti.

Setelah tugas ini selesai, pergilah ke ruang penyimpanan sebelah kanan. Ruangan ini menyimpan papan kayu dan bahan-bahan yang diperlukan untuk memperbaiki struktur atap dan dinding. Pergilah ke tanda X berwarna gelap di atas karpet hijau dan gunakan fungsi collect() untuk mengambil konstanta daftar bernama planks_set dari peti, daftar ini berisi papan yang sudah dibersihkan dari limbah. Kemudian, pergilah ke tanda X berwarna terang di sebelahnya dan gunakan fungsi collect() lagi untuk mengambil konstanta daftar lain bernama shipment, yang merupakan bahan papan yang baru saja dikirim dan masih mengandung beberapa limbah.

Sama seperti di ruang sebelumnya, daftar shipment kemungkinan memiliki beberapa bahan sampah tercampur yang perlu dihilangkan. Seperti sebelumnya, bahan-bahan tersebut disimpan dalam enam (6) kompartemen berbeda, masing-masing dengan jumlah bahan tersendiri. Buatlah variabel bernama blue_storage untuk menyimpan semua bahan sehingga Anda dapat mengkonsolidasikannya menjadi satu tumpukan. Seperti sebelumnya, bahan limbah akan diletakkan di dalam daftar junk.

Untuk papan, kita akan mengonversi dan menambahkan semua bahan yang berguna dari daftar shipment ke dalam daftar planks_set, kemudian mengkonsolidasikannya semua, menggunakan int(), ke dalam variabel blue_storage. Namun, seperti sebelumnya, kesalahan perlu diantisipasi.

for y in range(6): planks_set[y]+=int(shipment[y]) player.speak(planks_set[y]) blue_storage+=int(planks_set[y])

Kali ini, Anda dapat mengharapkan terjadinya Type Error, yaitu yang terjadi ketika Anda mencoba menambahkan angka dan string bersama-sama. Hal ini dapat diatasi dengan sekali lagi menggunakan blok kode try / except dan else, di mana try menambahkan daftar bersama-sama, blok except menyaring sampah dari daftar, dan klausa else menambahkan papan ke dalam blue_storage.

for y in range(6): try: planks_set[y]+=int(shipment[y]) player.speak(planks_set[y]) except: player.speak( "Item %s is junk. Slot only has %s items" % (y,planks_set[y])) junk.append(shipment[y]) else: blue_storage+=int(planks_set[y])

Sekarang setelah variabel blue_storage telah terisi, Anda dapat mendokumentasikan dan menyimpan semua papan kayu. Pergilah ke tanda X berwarna emas di ruang penyimpanan sebelah kanan tempat Anda berada, hadapilah meja dan gunakan fungsi write() untuk menghitung bahan-bahan yang telah Anda konsolidasikan, seperti ini: await player.write("There are %s planks ready for use in storage" % (blue_storage))

Untuk menyelesaikan level ini, pergilah ke tanda X berwarna gelap di atas karpet biru dan gunakan fungsi place() untuk menyimpan variabel blue_storage ke dalam peti. Kemudian, pergilah ke tanda X berwarna gelap di atas karpet ungu di ruang tengah dan gunakan fungsi place() untuk membuang daftar junk ke dalam saluran sampah, menyelesaikan tugas Anda.

Buku Kode