Selisih Set
Termasuk bagian Logika dan Alur dalam perjalanan GDScript di Coddy. Pelajaran 35 dari 78.
Selisih dua set memuat anggota dari set pertama yang tidak ada di set kedua. Lakukan perulangan pada set pertama dan simpan anggota yang tidak dimiliki set kedua:
var needed := {"rope": true, "torch": true, "map": true}
var packed := {"torch": true, "apple": true}
var missing := {}
for item in needed:
if not packed.has(item):
missing[item] = true
print(missing.keys()) # ["rope", "map"]Urutan set penting. Selisih packed dan needed adalah ["apple"]: hal yang kamu kemas tetapi tidak kamu perlukan.
Kedua perbedaan tersebut bersama-sama membentuk selisih simetris: anggota yang hanya ada di salah satu set. Di sini, anggotanya adalah rope, map, dan apple.
Untuk memeriksa apakah tidak ada yang hilang, has_all() menerima array dan mengembalikan true jika setiap elemennya merupakan kunci dalam dictionary:
print(packed.has_all(needed.keys())) # false: rope dan map tidak adaTantangan
MudahSebelum bepergian, kamu membandingkan barang yang kamu butuhkan dengan barang yang kamu kemas. Program membaca dua baris, barang yang dibutuhkan dan barang yang dikemas, dipisahkan oleh spasi, lalu kode awal membuat set needed dan packed.
Cetak dua baris, dengan anggotanya digabungkan menggunakan , :
Missing:diikuti barang yang dibutuhkan tetapi tidak dikemasExtra:diikuti barang yang dikemas tetapi tidak dibutuhkan
Pertahankan urutan set yang kamu gunakan dalam perulangan. Cetak none sebagai pengganti list kosong. Untuk input berikut:
rope torch map
torch appleoutput-nya adalah:
Missing: rope, map
Extra: appleCoba sendiri
extends Node
func _ready():
var needed := {}
for item in OS.read_string_from_stdin().split(" ", false):
needed[item] = true
var packed := {}
for item in OS.read_string_from_stdin().split(" ", false):
packed[item] = true
# Buat dua selisihnya
# Cetak hasilnya
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Mendalami String
Method untuk StringMencari dalam StringMengganti dan Menghapus SpasiMemisahkan dan MenggabungkanUlasan: Memeriksa Nama Pengguna4Dictionary Bagian 2
Dictionary BersarangArray berisi DictionaryMenggabungkan DictionaryMenyalin DictionaryRangkuman: Penghitung Frekuensi10Fungsi Lanjutan
Mengembalikan Beberapa NilaiFungsi Lambda Bagian 1Fungsi Lambda Bagian 2Ringkasan: Mengurutkan dengan LambdaFungsi Rekursif Bagian 1Fungsi Rekursif Bagian 2Ringkasan: Menjumlahkan array Bersarang13Sistem Manajemen Inventaris
Ikhtisar ProyekTambahkan Barang2Pengambilan Keputusan Lanjutan
Pencocokan dengan VariabelGuard pada MatchPola arrayPola dictionaryPemeriksaan KeanggotaanUlasan: Parser Perintah5Aplikasi Buku Kontak
Tampilkan MenuTambah Kontak8Pengelola Data Siswa
Gambaran Umum ProyekTambah Siswa11Fungsi Tingkat Tinggi
Method mapMethod filterMethod reduceany dan allUlasan: Validator EmailUlasan: Pemroses Angka3Array Multidimensi
Dasar-Dasar Array 2DMengakses Elemen Array 2DNested Loop dengan Array 2DRangkuman: Array 2DArray Tidak BeraturanPola Umum Array 2DRangkuman: Papan Permainan6Set dengan Dictionary
Apa Itu Set?Dictionary sebagai SetMenambahkan dan MenghapusUnion dan IntersectionSelisih SetRangkuman: Menghapus DuplikatLatihan sendiri: Compiler GDScript online