Kursus Pengembangan Python Lanjutan
Bab
>
Tingkat
Async/Await
Membaca Pesan
Tujuan
Periksa bahwa nomor item di gudang anggur sudah benar menggunakan fungsi read() dan hitung stok yang tersisa.
Gudang anggur memiliki beberapa peti berisi botol anggur, yang akan dipindahkan ke lantai atas untuk distribusi. Di ruang penyimpanan, meja-meja akan memiliki memo dengan pesanan, dan di sampingnya terdapat peti yang menyimpan botol-botol tersebut. Anda perlu memverifikasi bahwa jumlah botol di setiap peti sesuai dengan memo dan menambahkan item yang hilang.
Pertama, ambil botol-botol lepas yang ada di ruang anggur agar Anda siap untuk melengkapi item yang hilang dari pesanan. Terdapat tiga (3) jenis botol anggur, setelah dikumpulkan, buat variabel untuk masing-masing sebagai berikut: empty_bottles, purple_bottles, yellow_bottles dan simpan jumlah yang telah Anda kumpulkan ke dalam variabel tersebut.
Setelah Anda mengumpulkan semua botol di lapangan, berjalanlah ke tanda X yang terang di dalam ruang penyimpanan dan hadapilah memo-memo tersebut. Gunakan fungsi read() untuk membaca informasi pesanan pada memo dengan memicu pop up. Serupa dengan fungsi write(), fungsi read() adalah fungsi async yang memerlukan await sebelum kode dieksekusi, seperti ini: await player.read().
Memo-memo tersebut diberi kode warna berdasarkan karpet di bawahnya. Setelah Anda mengetahui nomor pesanan, berjalanlah ke tanda X yang gelap di depan peti yang diberi kode warna dan gunakan fungsi speak() untuk memeriksa isi setiap peti. Terdapat tiga (3) konstanta yang sesuai untuk masing-masing peti: green_crate, blue_crate dan red_crate.
Periksa bahwa isi setiap peti sesuai dengan memo dari karpet berwarna yang bersangkutan. Jika ada item yang hilang di peti sebagaimana tercantum dalam memo, tambahkan item tersebut ke peti yang bersangkutan. Buat variabel: empty_missing, purple_missing dan yellow_missing dan tambahkan jumlah setiap item yang hilang ke dalam isi peti.
Setelah variabel-variabel tersebut disiapkan, gunakan fungsi place() untuk menambahkan botol yang hilang ke dalam peti, misalnya: player.place(empty_missing). Setelah semua item disiapkan, berjalanlah ke tanda X emas dan write() sebuah daftar semua botol sisa yang tidak disimpan.
Draf pesan akan ditulis di editor kode; atur jumlah yang benar dari masing-masing botol sisa yang tidak disimpan dengan mengurangkan dua variabel yang telah Anda buat, misalnya: empty_bottles-empty_missing. Setelah semua item yang tersisa dihitung, Anda telah menyelesaikan level.