Mitgliedschaftsprüfungen
Teil des Abschnitts Logik & Ablaufsteuerung der GDScript-Journey von Coddy. Lektion 10 von 78.
Du prüfst die Zugehörigkeit bereits mit in und not in: "cat" in pets sucht nach einem Element in einem Array und "ell" in "hello" nach Text innerhalb einer Zeichenkette. Drei weitere Fälle kommen ständig vor.
Bei einem Dictionary prüft in nur die Schlüssel. Um nach einem Wert zu suchen, prüfe das von values() zurückgegebene Array:
var grades := {"Alice": 85, "Bob": 90}
print("Alice" in grades)
print(90 in grades)
print(90 in grades.values())true
false
trueDie Mitgliedschaft vergleicht auch Typen. Mit OS.read_string_from_stdin() gelesener Text ist eine Zeichenkette, und die Zeichenkette "90" ist nicht die Ganzzahl 90:
var scores := [70, 90]
print("90" in scores)
print(int("90") in scores)false
trueEin konstantes Array mit zulässigen Werten und in ersetzt eine lange Kette von or und funktioniert auch in einer Wächterbedingung:
const DIRECTIONS = ["north", "south", "east", "west"]
var dir := "west"
match dir:
var d when d in DIRECTIONS:
print("Going ", d)
_:
print("You cannot go there")Going westAufgabe
EinfachDas Programm hat ein Array names mit den Schülern einer Klasse und ein Wörterbuch grades mit den Schülern, die bereits eine Note haben. Es liest einen Schülernamen in student und eine Note in grade ein (als Text).
Gib drei Zeilen aus:
NAME is in the class.oderNAME is not in the class., wobeinamesgeprüft wirdNAME has a grade.oderNAME has no grade., wobei die Schlüssel vongradesgeprüft werdenSomeone scored GRADE.oderNobody scored GRADE., wobei die Werte vongradesgeprüft werden
Ersetze NAME und GRADE durch die Eingaben. Für die Eingaben Dana und 85 lautet die Ausgabe:
Dana is in the class.
Dana has no grade.
Someone scored 85.Probier es selbst
extends Node
func _ready():
var names := ["Alice", "Bob", "Charlie", "Dana"]
var grades := {"Alice": 85, "Bob": 90, "Charlie": 78}
var student := OS.read_string_from_stdin()
var grade := OS.read_string_from_stdin()
# Gib die drei Zeilen aus
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablaufsteuerung
1Strings im Detail
String-MethodenIn Strings suchenErsetzen und TrimmenAufteilen und ZusammenfügenRückblick – Benutzernamen prüfen4Wörterbücher Teil 2
Verschachtelte WörterbücherArrays aus WörterbüchernWörterbücher zusammenführenWörterbücher kopierenWiederholung – Häufigkeitszähler10Fortgeschrittene Funktionen
Mehrere Werte zurückgebenLambda-Funktionen Teil 1Lambda-Funktionen Teil 2Wiederholung – Sortieren mit LambdaRekursive Funktionen Teil 1Rekursive Funktionen Teil 2Wiederholung – Verschachteltes Array summieren13Inventarverwaltungssystem
ProjektübersichtArtikel hinzufügen2Fortgeschrittene Entscheidungsfindung
Match mit VariablenMatch-GuardsArray-MusterDictionary-MusterMitgliedschaftsprüfungenRückblick – Befehlsparser5Kontaktbuch-Anwendung
Menü anzeigenKontakt hinzufügen8Schülerdatenverwaltung
ProjektübersichtSchüler hinzufügen3Mehrdimensionale Arrays
Grundlagen zu 2D-ArraysAuf Elemente in 2D-Arrays zugreifenVerschachtelte Schleifen mit 2D-ArraysWiederholung – 2D-ArraysGezackte ArraysGängige Muster für 2D-ArraysWiederholung – Spielbrett6Mengen mit Dictionaries
Was ist eine Menge?Dictionary als MengeHinzufügen und EntfernenVereinigung und SchnittmengeMengendifferenzWiederholung – Duplikate entfernen9Fortgeschrittene Datenaggregation
Werte summierenMinimum und Maximum findenBenutzerdefiniertes SortierenRückblick – Wörterbuch-Sortierer12Einfache Fehlerbehandlung
Was ist Fehlerbehandlung?Eingaben validierenGuard ClausesFehlercodes zurückgebenRückblick – Sichere DivisionÜbe selbstständig: Online-GDScript-Compiler