Условия — if creeper then run
Как научить программу принимать решения.
Старт
Ты идёшь по пещере в Minecraft. Впереди моб. Что делаешь?
- Если это корова → игнорируешь
- Если это зомби → бьёшь мечом
- Если это крипер → БЕЖИШЬ 💨
- Если это Эндермен → не смотришь ему в глаза
Ты только что выполнил четыре условия. Твой мозг делает это автоматически: оценивает ситуацию и выбирает действие. Программы работают так же — но им нужно прописать каждое условие явно.
Теория: if / else
Условие — это развилка в коде. Если что-то правда — делаем одно. Если нет — другое.
моб = "крипер"
if моб == "крипер":
print("БЕЖИМ!")
else:
print("Атакуем!")
Разберём по кусочкам:
if— «если»моб == "крипер"— проверка (два знака=— это сравнение, один=— присваивание):— двоеточие после условия (Python так хочет, не спорь)- Отступ (4 пробела) — то, что выполняется, если условие верно
else:— «иначе» (всё остальное)
elif — когда вариантов больше двух
моб = "зомби"
if моб == "крипер":
print("БЕЖИМ!")
elif моб == "зомби":
print("Бьём мечом")
elif моб == "скелет":
print("Прячемся за щитом")
elif моб == "эндермен":
print("Не смотрим в глаза")
else:
print("Что-то неизвестное. Осторожно.")
elif — это сокращение от «else if» (иначе если). Можно ставить сколько угодно.
Операторы сравнения
| Оператор | Значение | Пример | Результат |
|---|---|---|---|
== | равно | 5 == 5 | True |
!= | не равно | 5 != 3 | True |
> | больше | 10 > 5 | True |
< | меньше | 3 < 7 | True |
>= | больше или равно | 5 >= 5 | True |
<= | меньше или равно | 3 <= 2 | False |
= от == в Python?Практика
Задание 1: Классификатор мобов
В пустые поля ??? впиши команды: if (если), elif (а если) или else (иначе). Это слова, которые говорят программе, когда выполнять код.
моб = "волк"
моб == "крипер":
тип = "враждебный"
моб == "волк":
тип = "нейтральный"
:
тип = "дружелюбный"
💡 Подсказка
Первая проверка — if. Дополнительная проверка — elif. Всё остальное — else.
✅ Решение
if моб == "крипер":
тип = "враждебный"
elif моб == "волк":
тип = "нейтральный"
else:
тип = "дружелюбный"
Задание 2: Система дня и ночи
В Minecraft цикл дня = 24000 тиков. Заполни числа-границы:
- 0-6000: утро ☀️
- 6000-12000: день 🌞
- 12000-18000: вечер 🌅
- 18000-24000: ночь 🌙
тик = 14500
if тик < :
время = "утро ☀️"
elif тик < :
время = "день 🌞"
elif тик < :
время = "вечер 🌅"
else:
время = "ночь 🌙"
💡 Подсказка
Границы диапазонов: утро кончается на 6000, день — на 12000, вечер — на 18000.
✅ Решение
if тик < 6000:
время = "утро ☀️"
elif тик < 12000:
время = "день 🌞"
elif тик < 18000:
время = "вечер 🌅"
else:
время = "ночь 🌙"
Сборка: Умная черепашка
Помнишь черепашку из урока 1? Она тупо шла вперёд. Теперь она станет умнее.
Черепашка двигается по миру и встречает разные блоки. Она умеет их определять с помощью функции что_впереди().
блок = что_впереди()
if блок == "воздух":
вперёд()
elif блок == "руда":
копай()
вперёд()
elif блок == "лава":
влево()
вперёд()
вправо()
вперёд()
вправо()
вперёд()
влево()
elif блок == "бедрок":
print("Дальше нельзя")
развернись()
Черепашка теперь реагирует на окружение, а не просто слепо выполняет команды. Это уже настоящий AI (ну, почти).
моб = "крипер" и расстояние = 2?
if моб == "крипер":
if расстояние < 3:
print("БЕЖИМ!")
else:
print("Стреляем")
Черепашка-боец на арене. У неё здоровье = 4, моб = "скелет", есть_щит = False.
Правила:
- Если здоровье < 5 — всегда убегай
- Если крипер и близко — убегай
- Если зомби — атакуй мечом
- Если скелет и есть щит — блокируй
- Если скелет и нет щита — зигзаг
Что сделает правильно написанный код в этой ситуации?
Итоги
Теперь ты знаешь:
- ✅
if/elif/else— программа может принимать решения - ✅ Операторы сравнения:
==,!=,>,<,>=,<= - ✅ Вложенные условия — дерево решений
Где это в реальном мире:
- Спам-фильтр почты: if содержит «вы выиграли миллион» → спам
- Автоматические двери: if датчик движения → открыть
- Светофор: if красный → стой, elif зелёный → иди
Fun fact: Вся логика любого компьютера сводится к двум операциям: сравнение (if) и переход (goto). Буквально всё. Игры, нейросети, операционные системы — просто очень много if. 🤯
В следующем уроке: составные условия — and, or, not. Когда нужно проверить несколько вещей одновременно.
А потом: мы наконец избавимся от копипасты. Помнишь, как мы писали вперёд() пять раз подряд? Циклы решат эту проблему навсегда.