Modificando dicionários
Parte da seção Fundamentos do Journey de GDScript da Coddy. Lição 79 de 92.
Para alterar um valor, atribua-o à sua chave usando colchetes. Se a chave for nova, o par será adicionado ao final do dicionário:
var player := {"name": "Mia", "hp": 100}
player["hp"] = 80 # atualiza o valor de "hp"
player["level"] = 2 # adiciona um novo par
print(player)A saída é:
{ "name": "Mia", "hp": 80, "level": 2 }Você também pode atualizar um valor a partir do valor anterior, como em uma variável:
player["level"] += 1 # level agora é 3Para remover um par, chame erase() com sua chave. Ele retorna true quando a chave é removida e false quando a chave não está presente. Uma chave ausente não é um erro:
print(player.erase("hp")) # true
print(player.erase("hp")) # false
print(player) # { "name": "Mia", "level": 3 }erase() não retorna o valor removido. Se você precisar dele, leia-o antes de apagar a chave.
Desafio
FácilO programa lê quatro linhas de entrada:
- Um nome de jogador
- Um nível inicial (um número inteiro)
- Um novo nível (um número inteiro)
- Um novo par escrito como
key:value, por exemploguild:Falcons
O dicionário player já foi criado com "name" e "level". Então:
- Atualize
"level"com o novo nível - Divida a quarta entrada em
:e adicione esse par ao dicionário (mantenha o valor como texto) - Salve o valor de
"name"em uma variável e, em seguida, apague a chave"name"
Imprima o nome salvo na primeira linha e o dicionário na segunda linha. Para as entradas Mia, 4, 5 e guild:Falcons, a saída é:
Mia
{ "level": 5, "guild": "Falcons" }Experimente você mesmo
extends Node
func _ready():
var player_name := OS.read_string_from_stdin()
var level := int(OS.read_string_from_stdin())
var new_level := int(OS.read_string_from_stdin())
var pair := OS.read_string_from_stdin()
var player := {"name": player_name, "level": level}
# 1. Atualize o nível
# 2. Adicione o par da quarta entrada
# 3. Salve o nome e depois apague-o
# 4. Imprima o nome salvo e o dicionário
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