Изменение словарей
Часть раздела Основы путешествия по 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() не возвращает удалённое значение. Если оно вам нужно, прочитайте его, прежде чем удалить ключ.
Задание
ЛегкоПрограмма считывает четыре строки ввода:
- Имя игрока
- Начальный уровень (целое число)
- Новый уровень (целое число)
- Новая пара в формате
key:value, напримерguild:Falcons
Словарь player уже создан и содержит "name" и "level". Затем:
- Обнови
"level", указав новый уровень - Раздели четвёртую строку ввода по
:и добавь эту пару в словарь (оставь значение текстом) - Сохрани значение
"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
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыЦелочисленное делениеОператор остатка от деленияСокращённая запись арифметических операцийПовторение — простая математикаОператоры сравнения7Основы ввода и вывода
ВыводВывод с переменнымиФорматирование строкВводПреобразование типовПовторение — до 120Повторение — истина или ложь5Операторы, часть 2
Логические операторы, часть 1Логические операторы, часть 2Повторение: простая логикаЛогические операторы, часть 3Тернарный оператор8Калькулятор для разделения счёта
Приветственное сообщениеВвод данных11FizzBuzz с неожиданным поворотом
Обзор игрыФункция FizzBuzz14Массивы: продвинутый уровень
Срезы массивовОператоры последовательностейПринадлежностьСортировка и обратный порядок3Переменные. Часть 2
Объявление типаВывод типаКонстантыПовторение — инициализация переменныхПреобразование типов6Принятие решений
Оператор ifЕсли — иначеПовторение: простой калькуляторВложенные условия if — elseОператор match9Циклы
Цикл forЦикл whileBreakContinueПовторение — факториалФункция rangeВложенный циклПовторение — динамический ввод12Основы массивов
Объявление массиваДоступ к элементам массиваИзменение массивовМетоды массивовПовторение — массив произведенийПовторение — перевёрнутый массивТипизированные массивы15Словари
Создание словарейДоступ к значениямИзменение словарейМетоды словарейПеребор элементов словаряПовторение — словарь инвентаряПотренируйтесь самостоятельно: Онлайн-компилятор GDScript