Kursus Pengembangan Python Lanjutan
Bab
>
Tingkat
Daftar Lanjutan
Mengurutkan Set
Tujuan
Atur dan masak makanan dengan menggunakan Sets untuk menyortir dan menyusun bahan-bahan.
Akan sangat baik untuk memulai menyiapkan makanan, ada beberapa bahan di dalam kulkas yang sudah dibungkus serta beberapa rempah yang bisa kamu gunakan untuk menambah cita rasa pada masakan. Semua bahan disimpan dalam list sehingga akan lebih baik jika menggunakan Sets untuk menggabungkan item dan memaksimalkan hasil masakanmu.
Terdapat tiga (3) konstanta list, dua (2) di antaranya adalah daging, yang dinamai: pack1 dan pack2, dan satu (1) adalah bahan masak, bernama ingredients. Berjalanlah ke tanda X gelap di atas karpet oranye dan hadaplah kulkas, gunakan fungsi collect() untuk mengambil pack1 dan pack2 dari kulkas, seperti ini: player.collect(pack1).
Setelah daging berhasil dikumpulkan, berjalanlah ke tanda X terang dan hadap papan pemotong, di sini kita akan memverifikasi isi dari pack dengan menggunakan fungsi speak() dengan kedua konstanta list yang telah kamu kumpulkan. Dari sini kita akan menggabungkan item dengan menggunakan Sets seperti pada level sebelumnya. Buat dua Sets bernama set1 dan set2, dan dengan menggunakan fungsi set() tetapkan pack1 dan pack2 pada masing-masing, misalnya: set1 = set(pack1).
Setelah list-list tersebut digabungkan ke dalam Sets, saatnya untuk mengurutkan dan mengelompokkan item ke dalam Sets yang lebih kecil untuk memudahkan.
Metode pertama untuk mencapai hal ini disebut systemic_difference, metode ini akan memungkinkan kita untuk memisahkan item yang tidak dimiliki bersama antara setiap Set. Buat sebuah Set bernama unique dan gunakan kedua Sets untuk membandingkan dan mengidentifikasi item unik menggunakan systemic_difference, seperti ini: unique = set1.symmetric_difference(set2). Gunakan metode speak() dengan Set yang kamu buat untuk mengonfirmasi isi set tersebut.
Lanjutkan dengan pengurutan dengan membuat sebuah Set bernama shared dan gunakan metode intersection yang telah dipelajari di level sebelumnya untuk mengidentifikasi item yang ada di kedua Set. Gunakan kedua Sets untuk membandingkan dan mengidentifikasi item, seperti ini: shared = set1.intersection(set2). Gunakan metode speak() dengan Set yang kamu buat untuk mengonfirmasi isi set tersebut.
Terakhir, gunakan metode yang disebut difference, yang akan memungkinkan kita untuk memisahkan item yang hanya ditemukan di salah satu Set dan tidak ditemukan di yang lain. Buat dua (2) Sets bernama meat1 dan meat2, gunakan kedua Sets asli untuk membandingkan dan mengidentifikasi item menggunakan difference, seperti ini: meat1 = set1.difference(set2) dan meat2 = set2.difference(set1). Gunakan metode speak() dengan kedua Sets daging yang kamu buat untuk mengonfirmasi isi masing-masing set.
Dengan ini, daging telah diurutkan, berjalanlah ke tanda X gelap di atas karpet biru, hadap kulkas dan gunakan fungsi place() untuk menyimpan Set shared yang telah kamu buat, seperti ini: player.place(shared). Dengan ini kamu akan menyimpan bahan-bahan yang tidak akan dimasak.
Berjalanlah ke tanda X emas, hadap lemari dan gunakan fungsi collect() untuk mengambil konstanta list terakhir bernama ingredients dan gunakan fungsi speak() untuk mengonfirmasi isinya. Pindahkan elemen dari ingredients ke sebuah Set baru bernama set3. Sekarang setelah kamu memiliki semua bahan, buatlah dua Sets, bernama meal1 dan meal2 menggunakan metode union untuk menggabungkan semua elemen yang dibutuhkan untuk memasak.
Untuk meal1, gabungkan set3 dan meat1 seperti ini, meal1 = set3.union(meat1). Berjalanlah ke tanda X gelap di atas karpet ungu dan dengan Set meal1 gunakan fungsi speak() untuk mengonfirmasi isinya dan fungsi place() untuk memasak makanan tersebut di dalam panci.
Untuk meal2 lakukan hal yang sama, tetapi kali ini gunakan metode union dengan set3 dan meat2. Berjalanlah ke tanda X gelap di atas karpet kuning dan hadap panci, gunakan fungsi speak() dan place() dengan meal2 untuk menyelesaikan level.