Menu
CoddyTech

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 3

Para 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.

challenge icon

Desafío

Fácil

El programa lee cuatro líneas de entrada:

  1. El nombre de un jugador
  2. Un nivel inicial (un número entero)
  3. Un nuevo nivel (un número entero)
  4. Un nuevo par escrito como key:value, por ejemplo guild:Falcons

El diccionario player ya está creado con "name" y "level". Después:

  1. Actualiza "level" con el nuevo nivel
  2. Divide la cuarta entrada en : y añade ese par al diccionario (mantén el valor como texto)
  3. 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
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Compilador de GDScript online