Menu
CoddyTech

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: 2

Quando precisar apenas dos valores, percorra values(). Este loop soma todas as frutas:

var total := 0
for amount in stock.values():
	total += amount
print(total) # 10

Um 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 }
challenge icon

Desafio

Fácil

O 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: 1

Experimente 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
quiz iconTeste seus conhecimentos

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

Pratique por conta própria: Compilador de GDScript online