Menu
CoddyTech

Il dizionario come insieme

Fa parte della sezione Logica e flusso del percorso GDScript di Coddy. Lezione 32 di 78.

Per trasformare un array in un set, scorrilo e usa ogni valore come chiave. I valori ripetuti finiscono sulla stessa chiave:

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

Per verificare se un valore è presente, usa has() oppure l’operatore in. In un dizionario, entrambi controllano le chiavi, mai i valori:

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

Un array ha anche has(), ma confronta il valore con gli elementi uno per uno. Un dizionario trova direttamente una chiave, quindi un controllo di appartenenza in un set rimane veloce anche con migliaia di elementi.

Un ciclo for su un insieme scorre i suoi elementi nell’ordine in cui sono stati aggiunti:

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

Sfida

Facile

Controlli gli ospiti all’ingresso di una festa. Il programma legge due righe di input:

  1. L’elenco degli ospiti: nomi separati da spazi. Alcuni nomi sono scritti più di una volta.
  2. Le persone che arrivano: nomi separati da spazi.

Crea l’insieme guests a partire dall’elenco degli ospiti. Stampa quante persone diverse sono nell’elenco, poi una riga per ogni persona che arriva: NAME: welcome se è nell’elenco, oppure NAME: not on the list. Per l’input:

mia leo ana mia
mia sam ana

l’output è:

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

Provalo tu

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

	# Crea l'insieme degli ospiti

	# Stampa il numero di ospiti e controlla ogni arrivo
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore GDScript online