Коротко: if і else в Python — команди, які змушують код приймати рішення: якщо умова істинна, виконується один блок коду, якщо ні — інший. На курсі Python Старт це тема 3 з 9, одразу після змінних і перед циклами — саме умови вперше дають дитині відчуття, що програма не просто виконує команди підряд, а «думає».
До цієї теми код дитини виконувався лінійно: рядок за рядком, завжди в одному порядку, завжди з одним результатом. Умови ламають цю лінійність — і це перший момент курсу, коли два запуски однієї й тієї ж програми можуть дати різний результат, залежно від того, яке число ввів користувач чи яке значення має змінна.
Як записати найпростішу умову в Python
Базовий синтаксис виглядає так:
vik = 10
if vik >= 10:
print("Можна на курс Python: Ігри та боти")
else:
print("Поки Python Старт")
Тут три обов'язкові елементи: слово if, умова з двокрапкою в кінці, і відступ на наступному рядку. Відступ — не стиль оформлення, а частина синтаксису: Python визначає, які рядки належать умові, саме за відступом, а не за дужками, як у багатьох інших мовах.
Чому відступ ламає код частіше, ніж сама логіка умови
Найчастіша помилка новачка — не в логіці «якщо-то», а в пробілах: один рядок із відступом у 4 пробіли, наступний у 3, і Python видає IndentationError ще до того, як умова хоч раз виконалася. Для дитини це спочатку виглядає як «комп'ютер зламався», хоча код правильний за змістом. Детальніше про те, які помилки новачків зустрічаються найчастіше і як їх читати, — у статті про типові помилки новачків у Python.
elif: коли варіантів більше двох
elif (скорочення від «else if») додає третій, четвертий і скільки завгодно варіантів між if і else:
bal = 55
if bal >= 90:
print("Відмінно")
elif bal >= 75:
print("Добре")
elif bal >= 60:
print("Задовільно")
else:
print("Потрібно більше практики")
Python перевіряє умови по черзі зверху вниз і виконує лише першу, яка виявилась істинною, — решту він навіть не перевіряє. Це важливо зрозуміти рано: якщо переплутати порядок умов, наприклад поставити bal >= 60 вище за bal >= 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 — калькулятор знижки: якщо сума покупки більша за певне число, застосувати один відсоток знижки, інакше — менший або жодного. Завдання навмисно просте за математикою (додавання, відсотки діти вже проходили в школі), щоб усю увагу забрати саме синтаксис умови, а не арифметика.
Головний практичний підсумок теми для батьків: якщо дитина після цього заняття розуміє, чому один і той самий код може видати різний результат залежно від вхідних даних, вона готова до циклів — наступного кроку курсу, де ця ж логіка «перевір і вирішуй» буде повторюватися знову і знову, уже автоматично.