Коротко: if и else в Python — команды, которые заставляют код принимать решения: если условие истинно, выполняется один блок кода, если нет — другой. На курсе Python Старт это тема 3 из 9, сразу после переменных и перед циклами — именно условия впервые дают ребёнку ощущение, что программа не просто выполняет команды подряд, а «думает».
До этой темы код ребёнка выполнялся линейно: строка за строкой, всегда в одном порядке, всегда с одним результатом. Условия ломают эту линейность — и это первый момент курса, когда два запуска одной и той же программы могут дать разный результат, в зависимости от того, какое число ввёл пользователь или какое значение имеет переменная.
Как записать самое простое условие в Python
Базовый синтаксис выглядит так:
vozrast = 10
if vozrast >= 10:
print("Можно на курс Python: Игры и боты")
else:
print("Пока Python Старт")
Здесь три обязательных элемента: слово if, условие с двоеточием в конце, и отступ на следующей строке. Отступ — не стиль оформления, а часть синтаксиса: Python определяет, какие строки относятся к условию, именно по отступу, а не по скобкам, как в многих других языках.
Почему отступ ломает код чаще, чем сама логика условия
Самая частая ошибка новичка — не в логике «если-то», а в пробелах: одна строка с отступом в 4 пробела, следующая в 3, и Python выдаёт IndentationError ещё до того, как условие хоть раз выполнилось. Для ребёнка это сначала выглядит как «компьютер сломался», хотя код правильный по смыслу. Подробнее о том, какие ошибки новичков встречаются чаще всего и как их читать, — в статье о типичных ошибках новичков в Python.
elif: когда вариантов больше двух
elif (сокращение от «else if») добавляет третий, четвёртый и сколько угодно вариантов между if и else:
ball = 55
if ball >= 90:
print("Отлично")
elif ball >= 75:
print("Хорошо")
elif ball >= 60:
print("Удовлетворительно")
else:
print("Нужно больше практики")
Python проверяет условия по очереди сверху вниз и выполняет только первое, которое оказалось истинным, — остальные он даже не проверяет. Это важно понять рано: если перепутать порядок условий, например поставить ball >= 60 выше, чем ball >= 90, отличный результат тоже попадёт в «удовлетворительно», потому что первое истинное условие сработает первым.
Что такое «условие» технически — не только сравнение чисел
Условием может быть любое выражение, которое Python способен свести к True или False: сравнение чисел (>, <, ==, !=), проверка строки («есть ли слово в списке»), или даже просто переменная-флаг со значением True/False. На курсе дети встречают это впервые именно на числах, потому что так проще проверить результат на глаз, а более сложные условия со списками и строками появляются уже после циклов.
Логические операторы: and, or, not
Одно условие редко описывает реальную задачу полностью. Три слова позволяют объединять несколько условий в одно:
and— истинно, только если обе части истинны («возраст от 10 и балл выше 50»)or— истинно, если хотя бы одна часть истинна («пятница или выходной»)not— переворачивает результат на противоположный
Это уже ближе к тому, как дети формулируют правила в реальной жизни — «можно гулять, если сделал домашку и погода хорошая» — и курс намеренно строит примеры именно на бытовых ситуациях, а не на абстрактных числах, чтобы логика ощущалась естественной.
Можно ли вкладывать одно условие в другое
Да, и на практике это случается часто: внутри блока if может быть ещё один if, со своим отступом ещё на 4 пробела глубже. Для ребёнка это самый сложный момент темы, потому что нужно следить за двумя уровнями отступов одновременно. Курс не форсирует вложенные условия на той же теме 3 — они появляются естественно позже, когда логика игр и ботов из темы Pygame требует проверять несколько состояний одновременно.
Где условия появляются далее на курсе
Тема 3 — не разовое упражнение: условия возвращаются буквально в каждой следующей теме курса. В теме 4, циклах, условие определяет, когда цикл останавливается; в Pygame — столкнулись ли два объекта на экране; в Telegram-боте — какой ответ показать на какое сообщение пользователя. Подробнее о том, как именно циклы опираются на ту же логику условий, — в статье о цикле for в Python.
| Конструкция | Когда срабатывает | Сколько раз выполнится |
|---|---|---|
| if | условие истинно | 0 или 1 раз |
| elif | предыдущие условия ложны, это — истинно | 0 или 1 раз |
| else | все предыдущие условия ложны | 0 или 1 раз |
Обязательно ли писать else в каждом условии
Нет, else необязателен: можно написать только if без какого-либо продолжения, и если условие ложно, просто ничего не произойдёт. Новички часто добавляют else «на всякий случай» даже там, где он не нужен по логике задачи — это не ошибка, но лишний код стоит замечать и убирать, когда ребёнок уже уверенно понимает, что именно проверяет каждое условие.
Почему несколько отдельных if — не то же самое, что elif
Новички часто пишут несколько if подряд там, где нужен один if с несколькими elif:
if ball >= 90:
print("Отлично")
if ball >= 75:
print("Хорошо")
Для ball = 95 этот код выведет сразу обе строки — «Отлично» и «Хорошо», потому что каждый if здесь отдельная, независимая проверка, и Python проверяет их все, а не останавливается на первой истинной. С elif такое невозможно: как только одно условие сработало, остальные пропускаются автоматически. Разница незаметна на коротких примерах, но становится критичной, как только условий становится три-четыре и больше.
Что будет, если забыть двоеточие или перепутать регистр
Python очень требователен к мелочам синтаксиса: без двоеточия после условия он сразу выдаст SyntaxError, не пытаясь угадать, что имел в виду программист. То же самое с регистром слов — If с большой буквы Python просто не распознает как команду. Для ребёнка это полезный урок ещё до этой темы: компьютер не «понимает» намерения, он выполняет точный текст команды, и эта же требовательность к деталям повторяется в любом языке программирования, не только в Python.
Условия вне кода: как дети уже знают эту логику
До занятия по программированию ребёнок уже много лет пользуется условной логикой в жизни, просто не записанной текстом: «если на улице дождь — взять зонт, если нет — нет». Тема 3 курса не учит новой мысли, она учит записывать уже знакомую мысль в форме, которую понимает компьютер. Именно поэтому преподаватели курса сначала просят ребёнка сформулировать правило словами — «когда у тебя будет скидка» — и только потом переводят это предложение в код строка за строкой, чтобы синтаксис не мешал пониманию самой идеи.
Стоит ли объяснять эту тему дома, если родители не программисты
Объяснить базовый синтаксис if/else может любой родитель, даже без опыта в коде: достаточно прочитать условие вслух как обычное русское предложение — «если балл больше или равен 90, тогда...». Сложности обычно не в самой логике, а в точности синтаксиса — двоеточии, отступах, скобках в сложных условиях — и именно это лучше всего проверяет преподаватель на занятии, запустив код и показав ребёнку ошибку сразу, а не после того, как ребёнок десять раз переписал всё заново дома.
Практическое упражнение, которое дают на курсе
Типичное задание темы 3 — калькулятор скидки: если сумма покупки больше определённого числа, применить один процент скидки, иначе — меньший или никакой. Задание намеренно простое по математике (сложение, проценты дети уже проходили в школе), чтобы всё внимание забрал именно синтаксис условия, а не арифметика.
Главный практический итог темы для родителей: если ребёнок после этого занятия понимает, почему один и тот же код может выдать разный результат в зависимости от входных данных, он готов к циклам — следующему шагу курса, где эта же логика «проверь и решай» будет повторяться снова и снова, уже автоматически.