Menu
CoddyTech

Dictionary als Menge

Teil des Abschnitts Logik & Ablaufsteuerung der GDScript-Journey von Coddy. Lektion 32 von 78.

Um ein Array in eine Menge umzuwandeln, durchlaufe es und mache jeden Wert zu einem Schlüssel. Wiederholte Werte landen beim selben Schlüssel:

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

Um zu überprüfen, ob ein Wert enthalten ist, verwende has() oder den in-Operator. Bei einem Dictionary prüfen beide die Schlüssel, niemals die Werte:

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

Ein Array hat auch has(), vergleicht den Wert jedoch Element für Element. Ein Dictionary findet einen Schlüssel direkt, daher bleibt eine Mitgliedschaftsprüfung in einem Set auch bei Tausenden von Einträgen schnell.

Eine for-Schleife über eine Menge durchläuft deren Elemente in der Reihenfolge, in der sie hinzugefügt wurden:

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

Aufgabe

Einfach

Du kontrollierst die Gäste am Eingang einer Party. Das Programm liest zwei Eingabezeilen:

  1. Die Gästeliste: Namen, durch Leerzeichen getrennt. Einige Namen stehen mehr als einmal darauf.
  2. Die ankommenden Personen: Namen, durch Leerzeichen getrennt.

Erstelle die Menge guests aus der Gästeliste. Gib aus, wie viele verschiedene Personen auf der Liste stehen, und anschließend eine Zeile pro ankommender Person: NAME: welcome, wenn sie auf der Liste steht, andernfalls NAME: not on the list. Für die Eingabe:

mia leo ana mia
mia sam ana

lautet die Ausgabe:

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

Probier es selbst

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

	# Erstelle die Menge der Gäste

	# Gib die Anzahl der Gäste aus und überprüfe jede Ankunft
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablaufsteuerung

Übe selbstständig: Online-GDScript-Compiler