Menu
CoddyTech

Un dictionnaire comme ensemble

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

Pour transformer un tableau en ensemble, parcourez-le et faites de chaque valeur une clé. Les valeurs répétées aboutissent à la même clé :

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

Pour vérifier si une valeur est présente, utilise has() ou l’opérateur in. Avec un dictionnaire, les deux vérifient les clés, jamais les valeurs :

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

Un tableau possède également has(), mais il compare la valeur aux éléments un par un. Un dictionnaire trouve directement une clé, donc une vérification d’appartenance à un ensemble reste rapide, même avec des milliers d’éléments.

Une boucle for sur un ensemble parcourt ses éléments, dans l’ordre où ils ont été ajoutés :

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

Défi

Facile

Tu vérifies les invités à l’entrée d’une fête. Le programme lit deux lignes d’entrée :

  1. La liste des invités : des noms séparés par des espaces. Certains noms apparaissent plusieurs fois.
  2. Les personnes qui arrivent : des noms séparés par des espaces.

Construis l’ensemble guests à partir de la liste des invités. Affiche le nombre de personnes différentes sur la liste, puis une ligne par personne qui arrive : NAME: welcome si cette personne est sur la liste, ou NAME: not on the list. Pour l’entrée :

mia leo ana mia
mia sam ana

la sortie est :

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

Essayez vous-même

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

	# Construire l’ensemble des invités

	# Afficher le nombre d’invités et vérifier chaque arrivée
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