Iterare sui dizionari
Fa parte della sezione Fondamenti del percorso GDScript di Coddy. Lezione 81 di 92.
Un ciclo for su un dizionario restituisce le sue chiavi, nell’ordine in cui sono state aggiunte le coppie. Usa ogni chiave per leggere il relativo valore:
var stock := {"apples": 3, "pears": 5, "plums": 2}
for fruit in stock:
print(fruit, ": ", stock[fruit])L'output è:
apples: 3
pears: 5
plums: 2Quando ti servono solo i valori, esegui un ciclo su values(). Questo ciclo somma tutta la frutta:
var total := 0
for amount in stock.values():
total += amount
print(total) # 10Un dizionario può anche contare gli elementi. Per ogni parola, get(word, 0) restituisce il conteggio attuale, oppure 0 la prima volta che compare la parola:
var counts := {}
for word in ["gold", "gem", "gold"]:
counts[word] = counts.get(word, 0) + 1
print(counts) # { "gold": 2, "gem": 1 }Sfida
FacileIl programma legge una riga di input: il bottino raccolto da un giocatore, separato da virgole, per esempio gold,gem,gold.
Conta quante volte appare ogni oggetto in un dizionario chiamato counts. Poi stampa ogni oggetto e il relativo conteggio come item: count, uno per riga, nell’ordine in cui gli oggetti sono apparsi per la prima volta.
Per l’input gold,gem,gold,potion,gold, l’output è:
gold: 3
gem: 1
potion: 1Provalo tu
extends Node
func _ready():
var loot := OS.read_string_from_stdin().split(",")
var counts := {}
# Conta ogni elemento in counts
# Stampa ogni elemento e il relativo conteggio
pass
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 1
Operatori aritmeticiDivisione interaOperatore moduloScorciatoie aritmeticheRipasso - Matematica sempliceOperatori di confronto7Input/Output di base
OutputOutput con variabiliFormattazione delle stringheInputConversione di tipoRiepilogo - Fino a 120Riepilogo - Vero o falso10Funzioni
Dichiarare una funzioneArgomentiRestituzioneTipi di ritornoRiepilogo - Funzione SigmaRiepilogo - Funzione di convalidaValori predefiniti5Operatori - Parte 2
Operatori logici - Parte 1Operatori logici - Parte 2Riepilogo - Logica sempliceOperatori logici - Parte 3Operatore ternario8Calcolatore per dividere il conto
Messaggio di benvenutoInserimento dei dati11FizzBuzz con una variante
Panoramica del giocoLa funzione FizzBuzz3Variabili Parte 2
Dichiarazione del tipoInferenza del tipoCostantiRipasso - Inizializzare le variabiliConversione di tipo6Strutture decisionali
Istruzione ifIf - ElseRipasso - Calcolatrice sempliceIf - Else annidatiIstruzione match9Cicli
Ciclo forCiclo whilebreakcontinueRipasso - FattorialeLa funzione rangeCiclo annidatoRipasso - Input dinamico12Nozioni di base sugli array
Dichiarare un arrayAccedere agli elementi di un arrayModificare gli arrayMetodi degli arrayRipasso - Array prodottoRipasso - Array invertitoArray tipizzati15Dizionari
Creare dizionariAccedere ai valoriModificare i dizionariMetodi dei dizionariIterare sui dizionariRiepilogo - Dizionario dell'inventarioEsercitati da solo: Compilatore GDScript online