Menu
CoddyTech

Słownik jako zbiór

Część sekcji Logika i przepływ programu ścieżki GDScript w Coddy. Lekcja 32 z 78.

Aby zamienić tablicę w zbiór, przejdź po niej pętlą i ustaw każdą wartość jako klucz. Powtarzające się wartości trafiają pod ten sam klucz:

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

Aby sprawdzić, czy wartość jest elementem słownika, użyj has() lub operatora in. W przypadku słownika oba sprawdzają klucze, nigdy wartości:

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

Tablica ma również metodę has(), ale porównuje wartość kolejno z każdym elementem. Słownik znajduje klucz bezpośrednio, dlatego sprawdzanie przynależności do zbioru pozostaje szybkie nawet przy tysiącach elementów.

Pętla for przechodzi po elementach zbioru w kolejności, w jakiej zostały dodane:

for word in banned:
	print(word) # spam, potem scam
challenge icon

Wyzwanie

Łatwy

Sprawdzasz gości przy wejściu na imprezę. Program odczytuje dwa wiersze danych wejściowych:

  1. Lista gości: imiona oddzielone spacjami. Niektóre imiona są zapisane więcej niż raz.
  2. Przybywające osoby: imiona oddzielone spacjami.

Utwórz zbiór guests na podstawie listy gości. Wypisz, ile różnych osób znajduje się na liście, a następnie po jednym wierszu dla każdej przybywającej osoby: NAME: welcome, jeśli znajduje się na liście, lub NAME: not on the list. Dla danych wejściowych:

mia leo ana mia
mia sam ana

wynik to:

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

Spróbuj swoich sił

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 := {}

	# Utwórz zbiór gości

	# Wypisz liczbę gości i sprawdź każdą przybyłą osobę
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator GDScript online