Recorrer diccionarios
Parte de la sección Fundamentos del Journey de GDScript de Coddy. Lección 81 de 92.
Un bucle for sobre un diccionario te da sus claves, en el orden en que se añadieron los pares. Usa cada clave para leer su valor:
var stock := {"apples": 3, "pears": 5, "plums": 2}
for fruit in stock:
print(fruit, ": ", stock[fruit])La salida es:
apples: 3
pears: 5
plums: 2Cuando solo necesitas los valores, recorre values(). Este bucle suma todas las frutas:
var total := 0
for amount in stock.values():
total += amount
print(total) # 10Un diccionario también puede contar cosas. Para cada palabra, get(word, 0) devuelve el recuento hasta el momento, o 0 la primera vez que aparece la palabra:
var counts := {}
for word in ["gold", "gem", "gold"]:
counts[word] = counts.get(word, 0) + 1
print(counts) # { "gold": 2, "gem": 1 }Desafío
FácilEl programa lee una línea de entrada: el botín que recogió un jugador, separado por comas, por ejemplo gold,gem,gold.
Cuenta cuántas veces aparece cada elemento en un diccionario llamado counts. Después, imprime cada elemento y su cantidad como item: count, uno por línea, en el orden en que aparecieron por primera vez.
Para la entrada gold,gem,gold,potion,gold, la salida es:
gold: 3
gem: 1
potion: 1Pruébalo tú mismo
extends Node
func _ready():
var loot := OS.read_string_from_stdin().split(",")
var counts := {}
# Cuenta cada elemento en counts
# Imprime cada elemento y su cantidad
pass
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores, parte 1
Operadores aritméticosDivisión enteraOperador móduloAtajos aritméticosRepaso: matemáticas básicasOperadores de comparación7Entrada y salida básicas
SalidaSalida con variablesFormato de cadenasEntradaConversión de tipoRepaso: hasta 120Repaso: verdadero o falso10Funciones
Declarar una funciónArgumentosRetornoTipos de retornoRepaso: función SigmaRepaso: función de validaciónValores predeterminados5Operadores, parte 2
Operadores lógicos, parte 1Operadores lógicos, parte 2Repaso: lógica simpleOperadores lógicos, parte 3Operador ternario8Calculadora para dividir la cuenta
Mensaje de bienvenidaCómo obtener datos3Variables, parte 2
Declaración de tiposInferencia de tiposConstantesRepaso: inicializar variablesConversión de tipos9Bucles
Bucle forBucle whileBreakContinueRepaso - FactorialLa función rangeBucle anidadoRepaso - Entrada dinámica12Conceptos básicos de arrays
Declarar un arrayAcceder a los elementos de un arrayModificar arraysMétodos de arrayRepaso - Array de productosRepaso - Array invertidoArrays tipados15Diccionarios
Crear diccionariosAcceder a los valoresModificar diccionariosMétodos de diccionariosRecorrer diccionariosRepaso: diccionario de inventarioPractica por tu cuenta: Compilador de GDScript online