Рюкзак находок

Находим детали, кладём их в список и проверяем содержимое.

Ракета

Цель урока: Добавить предмет и не положить его дважды.

Шаг 1 · Положи деталь в рюкзак

Пустой список пригодится для найденных предметов.

Python
Запустить в IDE ↗
bag = []bag.append("антенна")print("Рюкзак:", bag)
Результат
Рюкзак: ['антенна']

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

  1. [] означает пустой список.
  2. append() добавляет один предмет в конец списка.
  3. print() показывает список и найденную антенну.

Шаг 2 · Не бери одну деталь дважды

Слово in проверяет, лежит ли предмет в рюкзаке.

Python
Запустить в IDE ↗
bag = ["антенна"]item = "антенна"if item in bag:    print("Эту деталь ты уже забрал")else:    bag.append(item)print("Рюкзак:", bag)
Результат
Эту деталь ты уже забрал
Рюкзак: ['антенна']

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

  1. item хранит название найденной детали.
  2. item in bag истинно, потому что антенна уже в списке.
  3. Ветка else не выполняется, и второй антенны не появляется.

Попробуй сам

  1. Добавь батарею в рюкзак и покажи список.
  2. Поменяй item на «батарея» и предскажи результат второго примера.
  3. Сделай сообщение для пустого рюкзака.

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

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

В полной игре bag хранит антенну с Луны и батарею с астероида. По нему игра проверяет, можно ли починить маяк.

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

Используйте настоящий мешочек и карточки «антенна» и «батарея». Обратите внимание: append меняет исходный список.