Коротко: 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 — калькулятор скидки: если сумма покупки больше определённого числа, применить один процент скидки, иначе — меньший или никакой. Задание намеренно простое по математике (сложение, проценты дети уже проходили в школе), чтобы всё внимание забрал именно синтаксис условия, а не арифметика.

Главный практический итог темы для родителей: если ребёнок после этого занятия понимает, почему один и тот же код может выдать разный результат в зависимости от входных данных, он готов к циклам — следующему шагу курса, где эта же логика «проверь и решай» будет повторяться снова и снова, уже автоматически.