Modificar diccionarios
Parte de la sección Fundamentos del Journey de GDScript de Coddy. Lección 79 de 92.
Para cambiar un valor, asígnalo a su clave usando corchetes. Si la clave es nueva, el par se añade al final del diccionario:
var player := {"name": "Mia", "hp": 100}
player["hp"] = 80 # actualiza el valor de "hp"
player["level"] = 2 # añade un nuevo par
print(player)La salida es:
{ "name": "Mia", "hp": 80, "level": 2 }También puedes actualizar un valor a partir de su valor anterior, como una variable:
player["level"] += 1 # level ahora es 3Para eliminar un par, llama a erase() con su clave. Devuelve true cuando se eliminó la clave y false cuando la clave no estaba ahí. Que falte una clave no es un error:
print(player.erase("hp")) # true
print(player.erase("hp")) # false
print(player) # { "name": "Mia", "level": 3 }erase() no devuelve el valor eliminado. Si lo necesitas, léelo antes de borrar la clave.
Desafío
FácilEl programa lee cuatro líneas de entrada:
- El nombre de un jugador
- Un nivel inicial (un número entero)
- Un nuevo nivel (un número entero)
- Un nuevo par escrito como
key:value, por ejemploguild:Falcons
El diccionario player ya está creado con "name" y "level". Después:
- Actualiza
"level"con el nuevo nivel - Divide la cuarta entrada en
:y añade ese par al diccionario (mantén el valor como texto) - Guarda el valor de
"name"en una variable y luego elimina la clave"name"
Imprime el nombre guardado en la primera línea y el diccionario en la segunda línea. Para las entradas Mia, 4, 5 y guild:Falcons, la salida es:
Mia
{ "level": 5, "guild": "Falcons" }Pruébalo tú mismo
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. Actualiza el nivel
# 2. Añade el par de la cuarta entrada
# 3. Guarda el nombre y luego bórralo
# 4. Imprime el nombre guardado y el diccionario
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