Menu
CoddyTech

Vérifications d’appartenance

Fait partie de la section Logique et flux d’exécution du Journey GDScript de Coddy. Leçon 10 sur 78.

Tu vérifies déjà l’appartenance avec in et not in : "cat" in pets recherche un élément d’un tableau et "ell" in "hello" recherche du texte dans une chaîne. Trois autres cas se présentent très souvent.

Dans un dictionnaire, in vérifie uniquement les clés. Pour rechercher une valeur, vérifie le tableau renvoyé par values() :

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

L’appartenance compare également les types. Le texte lu avec OS.read_string_from_stdin() est une chaîne, et la chaîne "90" n’est pas l’entier 90 :

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

Un tableau constant de valeurs autorisées avec in remplace une longue chaîne de or, et fonctionne aussi dans une garde :

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

Défi

Facile

Le programme possède un tableau names contenant les élèves d’une classe et un dictionnaire grades contenant les élèves qui ont déjà une note. Il lit un nom d’élève dans student et une note dans grade (sous forme de texte).

Affiche trois lignes :

  1. NAME is in the class. ou NAME is not in the class., en vérifiant names
  2. NAME has a grade. ou NAME has no grade., en vérifiant les clés de grades
  3. Someone scored GRADE. ou Nobody scored GRADE., en vérifiant les valeurs de grades

Remplace NAME et GRADE par les valeurs saisies. Pour les entrées Dana et 85, la sortie est :

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

Essayez vous-même

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()
	# Affiche les trois lignes
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique et flux d’exécution

Entraînez-vous par vous-même : Compilateur GDScript en ligne