Полёт и ресурсы

Проверяем маршрут и тратим топливо только при успешном полёте.

Ракета

Цель урока: Проверить возможность действия до изменения переменных.

Шаг 1 · Проверь пункт назначения

Если места нет в списке, лететь туда нельзя.

Python
Запустить в IDE ↗
places = ["корабль", "луна", "астероид", "аврора"]destination = "марс"if destination not in places:    print("Такого места нет на карте")else:    print("Курс проложен:", destination)
Результат
Такого места нет на карте

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

  1. places перечисляет разрешённые места.
  2. not in проверяет, что слова «марс» в списке нет.
  3. В этом случае программа выводит отказ и не начинает полёт.

Шаг 2 · Потрать топливо после проверки

Самолёт не взлетает без топлива. Проверяем запас до вычитания.

Python
Запустить в IDE ↗
fuel = 8oxygen = 8if fuel < 2:    print("Не хватает топлива")else:    fuel -= 2    oxygen -= 1    print("Полетели! Топливо:", fuel, "Кислород:", oxygen)
Результат
Полетели! Топливо: 6 Кислород: 7

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

  1. fuel < 2 спрашивает, меньше ли запас стоимости одного полёта.
  2. При запасе 8 срабатывает ветка else.
  3. Только после проверки игра вычитает 2 топлива и 1 кислород.

Попробуй сам

  1. Поставь fuel = 1 и проверь, тратится ли кислород.
  2. Замени destination на «луна». Что скажет маршрут?
  3. Добавь проверку: не лететь туда, где корабль уже находится.

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

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

Полная игра проверяет место, текущую позицию и запас топлива. Неудачный ввод ничего не тратит, а успешный полёт меняет place, fuel и oxygen.

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

Попросите детей перечислить проверки до полёта. Отдельно покажите, почему расход ресурсов должен стоять только в ветке успешного действия.