Menu
CoddyTech

Küme Farkı

Coddy'nin GDScript Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 35 / 78.

İki kümenin farkı, ilk kümede olup ikinci kümede olmayan üyeleri içerir. İlk küme üzerinde döngü kur ve ikincide olmayanları tut:

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"]

Kümelerin sırası önemlidir. packed ile needed arasındaki fark ["apple"] şeklindedir: paketlediğin ama ihtiyaç duymadığın şey.

İki fark birlikte simetrik farkı oluşturur: kümelerden yalnızca birinde bulunan elemanlar. Burada bunlar rope, map ve apple.

Hiçbir şeyin eksik olmadığını kontrol etmek için has_all() bir dizi alır ve dizinin her öğesi sözlüğün bir anahtarı olduğunda true döndürür:

print(packed.has_all(needed.keys())) # false: rope ve map eksik
challenge icon

Görev

Kolay

Bir yolculuktan önce, ihtiyacın olanları yanına aldıklarınla karşılaştırırsın. Program, ihtiyacın olan öğeleri ve yanına aldığın öğeleri içeren, boşluklarla ayrılmış iki satırı okur ve başlangıç kodu needed ve packed kümelerini oluşturur.

Üyeleri , ile birleştirerek iki satır yazdır:

  • Missing: ardından yanına almadığın, ihtiyacın olan öğeler
  • Extra: ardından ihtiyacın olmayan, yanına aldığın öğeler

Üzerinde döngü kurduğun kümenin sırasını koru. Boş bir liste yerine none yazdır. Girdi:

rope torch map
torch apple

çıktı:

Missing: rope, map
Extra: apple

Kendin dene

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

	# İki fark kümesini oluştur

	# Sonuçları yazdır
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık ve Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online GDScript derleyicisi