Секреты Луны

Связываем каждое место с найденной там деталью.

Ракета

Цель урока: Найти предмет по названию места.

Шаг 1 · Составь справочник находок

Словарь похож на ящички с подписями: по подписи места получаем предмет.

Python
Запустить в IDE ↗
finds = {"луна": "антенна", "астероид": "батарея"}print(finds["луна"])print(finds["астероид"])
Результат
антенна
батарея

Что происходит в коде

  1. Фигурные скобки создают словарь finds.
  2. Слева от двоеточия стоит ключ — место, справа значение — предмет.
  3. finds["луна"] возвращает антенну, а finds["астероид"] — батарею.

Шаг 2 · Исследуй место безопасно

Сначала проверяем наличие ключа. Иначе запрос неизвестного места вызовет ошибку.

Python
Запустить в IDE ↗
finds = {"луна": "антенна", "астероид": "батарея"}place = "луна"if place in finds:    item = finds[place]    print("Ты нашёл:", item)else:    print("Находок здесь нет")
Результат
Ты нашёл: антенна

Что происходит в коде

  1. place хранит место, в котором мы ищем предмет.
  2. place in finds проверяет, есть ли это место среди ключей словаря.
  3. После успешной проверки finds[place] достаёт нужный предмет.

Попробуй сам

  1. Поменяй place на «астероид». Что найдёшь?
  2. Поменяй place на «корабль». Будет ли ошибка?
  3. Добавь в словарь новое место и собственную находку.

Открой пример в онлайн IDE, измени код и запусти его ещё раз.

Как это работает в полной игре

Словарь FINDS в полной игре хранит две детали. При команде «исследовать» игра смотрит на текущее место и добавляет найденный предмет в bag.

Скачать исходный код игры
Заметка для преподавателя

Нарисуйте таблицу из двух колонок «место → предмет». Объясните, почему проверка in стоит до обращения по ключу.