Percorrendo dicionários
Parte da seção Fundamentos do Journey de GDScript da Coddy. Lição 81 de 92.
Um loop for sobre um dicionário fornece as chaves, na ordem em que os pares foram adicionados. Use cada chave para ler seu valor:
var stock := {"apples": 3, "pears": 5, "plums": 2}
for fruit in stock:
print(fruit, ": ", stock[fruit])A saída é:
apples: 3
pears: 5
plums: 2Quando precisar apenas dos valores, percorra values(). Este loop soma todas as frutas:
var total := 0
for amount in stock.values():
total += amount
print(total) # 10Um dicionário também pode contar coisas. Para cada palavra, get(word, 0) retorna a contagem até o momento ou 0 na primeira vez que a palavra aparece:
var counts := {}
for word in ["gold", "gem", "gold"]:
counts[word] = counts.get(word, 0) + 1
print(counts) # { "gold": 2, "gem": 1 }Desafio
FácilO programa lê uma linha de entrada: o saque que um jogador coletou, separado por vírgulas, por exemplo gold,gem,gold.
Conte quantas vezes cada item aparece em um dicionário chamado counts. Depois, imprima cada item e sua contagem como item: count, um por linha, na ordem em que os itens apareceram pela primeira vez.
Para a entrada gold,gem,gold,potion,gold, a saída é:
gold: 3
gem: 1
potion: 1Experimente você mesmo
extends Node
func _ready():
var loot := OS.read_string_from_stdin().split(",")
var counts := {}
# Conte cada item em counts
# Imprima cada item e sua contagem
pass
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores - Parte 1
Operadores aritméticosDivisão inteiraOperador móduloAtalhos aritméticosRevisão - Matemática básicaOperadores de comparação7Entrada e Saída Básicas
SaídaSaída com VariáveisFormatação de StringsEntradaConversão de TipoRevisão - Até 120Revisão - Verdadeiro ou Falso10Funções
Declare uma funçãoArgumentosRetornoTipos de retornoRevisão - Função SigmaRevisão - Função de validaçãoValores padrão13Percorrendo Arrays
Percorrendo elementosPercorrendo com índicesPercorrendo strings — Parte 1Percorrendo strings — Parte 216Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do Programa5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Revisão - Lógica simplesOperadores lógicos Parte 3Operador ternário8Calculadora de Divisão da Conta
Mensagem de Boas-vindasObtendo Dados de Entrada11FizzBuzz com uma Reviravolta
Visão Geral do JogoA Função FizzBuzz3Variáveis - Parte 2
Declaração de tipoInferência de tipoConstantesRevisão - Inicialização de variáveisConversão de tipo6Tomada de decisões
Instrução ifIf - ElseRevisão - Calculadora simplesIf - Else aninhadoInstrução match9Laços de repetição
Laço forLaço whileInterromperContinuarRevisão - FatorialA função rangeLaço aninhadoRevisão - Entrada dinâmica12Fundamentos de Arrays
Declarando um ArrayAcessando elementos de um ArrayModificando ArraysMétodos de ArrayRevisão - Array de produtosRevisão - Array invertidoArrays tipados15Dicionários
Criando dicionáriosAcessando valoresModificando dicionáriosMétodos de dicionárioPercorrendo dicionáriosRevisão - Dicionário de inventárioPratique por conta própria: Compilador de GDScript online