Menu
CoddyTech

Sprawdzanie przynależności

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

Sprawdzasz już przynależność za pomocą in i not in: "cat" in pets wyszukuje element tablicy, a "ell" in "hello" tekst w ciągu znaków. Trzy inne przypadki pojawiają się bardzo często.

W słowniku operator in sprawdza tylko klucze. Aby wyszukać wartość, sprawdź tablicę zwracaną przez values():

var grades := {"Alice": 85, "Bob": 90}
print("Alice" in grades)
print(90 in grades)
print(90 in grades.values())
true
false
true

Przynależność porównuje również typy. Tekst odczytany za pomocą OS.read_string_from_stdin() jest ciągiem znaków, a ciąg "90" nie jest liczbą całkowitą 90:

var scores := [70, 90]
print("90" in scores)
print(int("90") in scores)
false
true

Stała tablica dozwolonych wartości z użyciem in zastępuje długi łańcuch or i działa również w warunku ochronnym:

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 west
challenge icon

Wyzwanie

Łatwy

Program ma tablicę names zawierającą uczniów z klasy oraz słownik grades zawierający uczniów, którzy mają już ocenę. Wczytuje imię ucznia do student i ocenę do grade (jako tekst).

Wypisz trzy wiersze:

  1. NAME is in the class. lub NAME is not in the class., sprawdzając names
  2. NAME has a grade. lub NAME has no grade., sprawdzając klucze słownika grades
  3. Someone scored GRADE. lub Nobody scored GRADE., sprawdzając wartości słownika grades

Zastąp NAME i GRADE danymi wejściowymi. Dla danych wejściowych Dana i 85 wynikiem jest:

Dana is in the class.
Dana has no grade.
Someone scored 85.

Spróbuj swoich sił

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()
	# Wypisz trzy linie
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