Урок 5. `elif`, `and`, `or`, `not`
Урок 5. elif, and, or, not
Section titled “Урок 5. elif, and, or, not”Тривалість: 35–45 хв
XP за урок: 140
🎯 Місія
Section titled “🎯 Місія”Навчитися створювати складніші рішення.
💡 Пояснення простою мовою
Section titled “💡 Пояснення простою мовою”elif — це драбина рішень. Уяви сходинки: спочатку перевіряємо найважливішу умову. Якщо вона хибна — спускаємось на сходинку нижче і перевіряємо наступну. Як тільки якась умова виявилась правдивою, Python зупиняється і не дивиться далі.
and — це два замки на одних дверях: щоб відчинити, потрібні обидва ключі. or — два запасні ключі: достатньо лише одного. А not — це перевертальник: перетворює True на False і навпаки.
🧠 1. elif
Section titled “🧠 1. elif”score = 75
if score >= 90: print("S")elif score >= 70: print("A")elif score >= 50: print("B")else: print("Try again")Python перевіряє умови зверху вниз.
graph TD
A["score = 75"] --> B["score >= 90 ?"]
B -->|"так"| C["print('S')"]
B -->|"ні"| D["score >= 70 ?"]
D -->|"так"| E["print('A')"]
D -->|"ні"| F["score >= 50 ?"]
F -->|"так"| G["print('B')"]
F -->|"ні"| H["print('Try again')"]
🔗 2. and
Section titled “🔗 2. and”Обидві умови мають бути правдивими.
level = 5coins = 200
if level >= 5 and coins >= 100: print("Можна купити магічний меч!")🔀 3. or
Section titled “🔀 3. or”Достатньо хоча б однієї правдивої умови.
has_key = Falsehas_magic = True
if has_key or has_magic: print("Двері відкрито.")🚫 4. not
Section titled “🚫 4. not”game_over = False
if not game_over: print("Гра продовжується!")🧩 Розбираємо по рядках
Section titled “🧩 Розбираємо по рядках”if level >= 5 and coins >= 100: print("Можна купити магічний меч!")level >= 5 and coins >= 100— це одна умова, складена з двох.- Завдяки
andобидві частини мають бути правдивими, щоб увійти в блок. - Якщо хоча б одна хибна — умова в цілому хибна, і блок не виконається.
and«жорсткіший», ніжor:orзадовольняється однією правдивою частиною.notу прикладі вище перевертає результат: якщоgame_over = False, тоnot game_overстаєTrue.
✏️ Вправи
Section titled “✏️ Вправи”Вправа 1 — Рівні HP
Section titled “Вправа 1 — Рівні HP”- HP > 70 →
"Сильний" - HP > 30 →
"Поранений" - інакше →
"Небезпека!"
Вправа 2 — Вхід у замок
Section titled “Вправа 2 — Вхід у замок”Для входу потрібно:
- level >= 5;
- є ключ.
Вправа 3 — Дощ
Section titled “Вправа 3 — Дощ”Якщо є парасоля або немає дощу — можна йти гуляти.
🐉 BOSS LEVEL 1 — Adventure Gate
Section titled “🐉 BOSS LEVEL 1 — Adventure Gate”Створи програму.
Користувач вводить:
level;- кількість
coins; - чи має ключ (
yes/no).
Правила:
- якщо level >= 5 і є ключ →
"Ти увійшов у замок!"; - якщо немає ключа, але coins >= 100 →
"Ти купив ключ і увійшов!"; - інакше →
"Вхід закритий."
Boss reward: +100 XP
⚡ Перевір себе
Section titled “⚡ Перевір себе”- Поясни різницю між
andіorсвоїми словами. - Чи виконається код, якщо
level = 3іcoins = 150за умовиlevel >= 5 and coins >= 100? (Ні!) - Що зробить
not True? Аnot False? - У якому порядку Python перевіряє умови в ланцюжку
elif? (Зверху вниз, зупиняється на першій правдивій.)
✅ Можна рухатись далі, якщо Марко може
Section titled “✅ Можна рухатись далі, якщо Марко може”- використовувати
elif; - пояснити різницю між
andіor; - комбінувати кілька умов;
- читати логіку програми зверху вниз.
🏠 Домашня місія
Section titled “🏠 Домашня місія”Зроби grade_game.py, який за кількістю очок визначає ранг гравця.