Методы словарей
Часть раздела Основы путешествия по GDScript на Coddy. Урок 80 из 92.
У словарей есть методы, которые сообщают, что в них содержится.
keys() возвращает массив ключей, а values() возвращает массив значений в порядке следования пар:
var player := {"name": "Mia", "hp": 100, "level": 3}
print(player.keys()) # ["name", "hp", "level"]
print(player.values()) # ["Mia", 100, 3]has() проверяет, существует ли ключ. Оператор in выполняет ту же проверку:
print(player.has("hp")) # true
print(player.has("mana")) # false
print("level" in player) # truesize() возвращает количество пар, а is_empty() проверяет, нет ли ни одной:
print(player.size()) # 3
print(player.is_empty()) # false
var bag := {}
print(bag.is_empty()) # truehas() и in проверяют только ключи, а не значения: player.has("Mia") равно false.
Задание
ЛегкоПрограмма считывает две строки ввода: список пар, записанных в виде key:value и разделённых запятыми, и ключ для проверки. Данный код уже заполняет словарь info данными из первой строки.
Выведите в следующем порядке:
- Каждый ключ, по одному в строке
---- Каждое значение, по одному в строке
---- Количество пар
---trueилиfalse: пуста ли словарь---trueилиfalse: существует ли ключ из второй строки ввода
Для входных данных name:Mia,hp:100,class:Mage и hp результат будет таким:
name
hp
class
---
Mia
100
Mage
---
3
---
false
---
trueПопробуйте сами
extends Node
func _ready():
var text := OS.read_string_from_stdin()
var key := OS.read_string_from_stdin()
var info := {}
for pair in text.split(","):
var parts := pair.split(":")
info[parts[0]] = parts[1]
# Выведите ключи, значения, размер, is_empty и has(key)
# с --- между частями
pass
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыЦелочисленное делениеОператор остатка от деленияСокращённая запись арифметических операцийПовторение — простая математикаОператоры сравнения7Основы ввода и вывода
ВыводВывод с переменнымиФорматирование строкВводПреобразование типовПовторение — до 120Повторение — истина или ложь5Операторы, часть 2
Логические операторы, часть 1Логические операторы, часть 2Повторение: простая логикаЛогические операторы, часть 3Тернарный оператор8Калькулятор для разделения счёта
Приветственное сообщениеВвод данных11FizzBuzz с неожиданным поворотом
Обзор игрыФункция FizzBuzz14Массивы: продвинутый уровень
Срезы массивовОператоры последовательностейПринадлежностьСортировка и обратный порядок3Переменные. Часть 2
Объявление типаВывод типаКонстантыПовторение — инициализация переменныхПреобразование типов6Принятие решений
Оператор ifЕсли — иначеПовторение: простой калькуляторВложенные условия if — elseОператор match9Циклы
Цикл forЦикл whileBreakContinueПовторение — факториалФункция rangeВложенный циклПовторение — динамический вводПотренируйтесь самостоятельно: Онлайн-компилятор GDScript