Menu
CoddyTech

Verifiche di appartenenza

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

Controlli già l'appartenenza con in e not in: "cat" in pets cerca un elemento in un array e "ell" in "hello" cerca del testo all'interno di una stringa. Altri tre casi si presentano continuamente.

Su un dizionario, in controlla solo le chiavi. Per cercare un valore, controlla l'array restituito da values():

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

L’appartenenza confronta anche i tipi. Il testo letto con OS.read_string_from_stdin() è una stringa, e la stringa "90" non è l’intero 90:

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

Un array costante di valori consentiti con in sostituisce una lunga catena di or e funziona anche in una guardia:

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

Sfida

Facile

Il programma ha un array names con gli studenti di una classe e un dizionario grades con gli studenti che hanno già un voto. Legge il nome di uno studente in student e un voto in grade (come testo).

Stampa tre righe:

  1. NAME is in the class. oppure NAME is not in the class., verificando names
  2. NAME has a grade. oppure NAME has no grade., verificando le chiavi di grades
  3. Someone scored GRADE. oppure Nobody scored GRADE., verificando i valori di grades

Sostituisci NAME e GRADE con i valori di input. Per gli input Dana e 85, l'output è:

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

Provalo tu

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()
	# Stampa le tre righe
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