Menu
CoddyTech

Küme Olarak Sözlük

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

Bir diziyi kümeye dönüştürmek için üzerinde döngü kur ve her değeri bir anahtar yap. Tekrarlanan değerler aynı anahtara yerleşir:

var reports := ["spam", "scam", "spam"]
var banned := {}
for word in reports:
	banned[word] = true
print(banned.keys()) # ["spam", "scam"]

Bir değerin üye olup olmadığını kontrol etmek için has() veya in işleçini kullanın. Bir sözlükte ikisi de değerlere değil, anahtarlara bakar:

print(banned.has("scam")) # true
print("hello" in banned) # false
print("hello" not in banned) # true

Bir dizide de has() bulunur, ancak değeri öğelerle tek tek karşılaştırır. Sözlük bir anahtarı doğrudan bulur; bu nedenle bir kümede üyelik kontrolü, binlerce üye olsa bile hızlı kalır.

Bir küme üzerinde for döngüsü, öğeleri eklendikleri sırayla dolaşır:

for word in banned:
	print(word) # spam, ardından scam
challenge icon

Görev

Kolay

Bir partinin kapısında konukları kontrol ediyorsun. Program iki satır girdi okur:

  1. Konuk listesi: boşluklarla ayrılmış adlar. Bazı adlar birden fazla kez yazılmıştır.
  2. Gelen kişiler: boşluklarla ayrılmış adlar.

Konuk listesinden guests kümesini oluştur. Listede kaç farklı kişi olduğunu yazdır, ardından gelen her kişi için bir satır yazdır: listedeyse NAME: welcome, değilse NAME: not on the list. Girdi şöyleyse:

mia leo ana mia
mia sam ana

çıktı şöyledir:

Guests on the list: 3
mia: welcome
sam: not on the list
ana: welcome

Kendin dene

extends Node

func _ready():
	var guest_list := OS.read_string_from_stdin().split(" ", false)
	var arrivals := OS.read_string_from_stdin().split(" ", false)
	var guests := {}

	# Konuklar kümesini oluştur

	# Konuk sayısını yazdır ve her geleni kontrol et
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