Menu
CoddyTech

Изменение словарей

Часть раздела Основы путешествия по GDScript на Coddy. Урок 79 из 92.

Чтобы изменить значение, присвойте его ключу, используя квадратные скобки. Если ключ новый, пара добавляется в конец словаря:

var player := {"name": "Mia", "hp": 100}
player["hp"] = 80 # обновляет значение "hp"
player["level"] = 2 # добавляет новую пару
print(player)

Результат:

{ "name": "Mia", "hp": 80, "level": 2 }

Вы также можете обновить значение, используя его прежнее значение, как у переменной:

player["level"] += 1 # level теперь равно 3

Чтобы удалить пару, вызови erase(), передав ему ключ. Метод возвращает true, если ключ был удалён, и false, если ключа не было. Отсутствие ключа не является ошибкой:

print(player.erase("hp")) # true
print(player.erase("hp")) # false
print(player) # { "name": "Mia", "level": 3 }

erase() не возвращает удалённое значение. Если оно вам нужно, прочитайте его, прежде чем удалить ключ.

challenge icon

Задание

Легко

Программа считывает четыре строки ввода:

  1. Имя игрока
  2. Начальный уровень (целое число)
  3. Новый уровень (целое число)
  4. Новая пара в формате key:value, например guild:Falcons

Словарь player уже создан и содержит "name" и "level". Затем:

  1. Обнови "level", указав новый уровень
  2. Раздели четвёртую строку ввода по : и добавь эту пару в словарь (оставь значение текстом)
  3. Сохрани значение "name" в переменную, затем удали ключ "name"

Выведи сохранённое имя в первой строке, а словарь — во второй. Для входных данных Mia, 4, 5 и guild:Falcons результат будет таким:

Mia
{ "level": 5, "guild": "Falcons" }

Попробуйте сами

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. Обновите уровень
	# 2. Добавьте пару из четвёртого ввода
	# 3. Сохраните имя, затем удалите его
	# 4. Выведите сохранённое имя и словарь
	pass
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Онлайн-компилятор GDScript