Булеві значення: True і False
У світі програмування часто доводиться приймати рішення на основі умов. Щоб це зробити, нам потрібно зрозуміти, що таке булеві значення.
Булеві значення (назва походить від імені математика Джорджа Буля) — це особливий тип даних, що може мати лише два стани: True
(правда) або False
(неправда).
# Створення булевих змінних
is_sunny = True
is_raining = False
print(is_sunny) # Виведе: True
print(is_raining) # Виведе: False
Булеві значення дуже корисні, коли нам потрібно відповісти на запитання "так чи ні". Наприклад:
- Чи сьогодні понеділок? (Так/Ні → True/False)
- Чи більше 10, ніж 5? (Так/Ні → True/False)
- Чи правильна відповідь? (Так/Ні → True/False)
Порівняння чисел
Найчастіше ми отримуємо булеві значення в результаті порівняння. Python має спеціальні оператори порівняння:
# Рівність: ==
print(5 == 5) # True
print(5 == 7) # False
# Нерівність: !=
print(5 != 7) # True
print(5 != 5) # False
# Більше: >
print(10 > 5) # True
print(5 > 10) # False
# Менше: <
print(5 < 10) # True
print(10 < 5) # False
# Більше або дорівнює: >=
print(10 >= 10) # True
print(9 >= 10) # False
# Менше або дорівнює: <=
print(10 <= 10) # True
print(11 <= 10) # False
Увага! У Python для перевірки рівності використовується подвійний знак рівності ==
, а не одинарний =
. Одинарний знак рівності =
використовується для присвоєння значення змінній.
x = 5 # Присвоєння (запис значення у змінну)
print(x == 5) # Порівняння (перевірка, чи дорівнює x числу 5)
Порівняння рядків (тексту)
Ми також можемо порівнювати рядки:
print("привіт" == "привіт") # True
print("Привіт" == "привіт") # False - регістр має значення!
print("яблуко" != "груша") # True
Рядки порівнюються в алфавітному порядку:
print("a" < "b") # True - 'a' передує 'b' в алфавіті
print("яблуко" < "ягода") # True
print("z" > "a") # True - 'z' далі в алфавіті, ніж 'a'
Спробуй сам
Що, на твою думку, виведуть ці приклади?
print(7 > 7)
print(7 >= 7)
print("кіт" == "Кіт")
print("a" < "A") # Це може тебе здивувати
Умовні оператори if'
Тепер, коли ми знаємо, як отримати відповідь "Так" (True) або "Ні" (False), можемо навчити нашу програму приймати рішення на основі цієї відповіді. Для цього використовується оператор if
.
Як працює if
Оператор if
працює дуже просто:
- Якщо умова True (правда), виконується блок коду під умовою
- Якщо умова False (неправда), цей блок коду пропускається
if умова:
# цей код виконується тільки якщо умова правдива
# отут будуть команди
Найпростіший приклад:
age = 12
if age >= 10:
print("Тобі вже 10 або більше років!")
В житті це можна порівняти з рішенням: "Якщо на вулиці дощ, я візьму парасольку". Якщо на вулиці не дощить (умова False), то я не братиму парасольку.
Відступи в Python важливі!
У Python блок коду, який має виконуватись за умовою, обов'язково повинен мати відступ (зазвичай 4 пробіли або 1 табуляція). Саме за відступами Python розуміє, які команди належать до блоку if
.
if age >= 10:
print("Цей рядок виконається, якщо age >= 10")
print("І цей рядок теж, бо він має відступ")
print("А цей рядок виконується завжди, бо він поза блоком if")
Приклади використання if
Приклад 1: Перевірка віку
age = int(input("Скільки тобі років? "))
if age >= 12:
print("Ти можеш грати в цю гру!")
Приклад 2: Перевірка паролю
password = input("Введи пароль: ")
if password == "секрет":
print("Доступ надано!")
Приклад 3: Перевірка числа
number = int(input("Введи ціле число: "))
if number % 2 == 0: # Перевіряємо, чи число ділиться на 2 без остачі
print("Це парне число!")
Часті помилки з if
- Забули двокрапку (:)
# Неправильно
if age >= 10
print("Помилка!")
# Правильно
if age >= 10:
print("Правильно!")
- Немає відступу
# Неправильно
if age >= 10:
print("Помилка!")
# Правильно
if age >= 10:
print("Правильно!")
- Використання = замість ==
# Неправильно - тут ми присвоюємо, а не порівнюємо
if age = 10:
print("Помилка!")
# Правильно - порівнюємо
if age == 10:
print("Правильно!")
Спробуй сам
Напиши програму, яка запитує у користувача його улюблений колір, і якщо відповідь "синій", виводить повідомлення "Це мій улюблений колір також!"
Оператор else: що робити в іншому випадку
В житті ми часто маємо "план Б" на випадок, якщо основний план не спрацював. У програмуванні для цього використовується оператор else
.
Як працює if-else
- Якщо умова
if
TRUE (правда) - виконується перший блок коду - Якщо умова
if
FALSE (неправда) - виконується блок коду післяelse
if умова:
# команди, які виконаються, якщо умова True
else:
# команди, які виконаються, якщо умова False
Це схоже на наше рішення в житті: "Якщо на вулиці дощ, я візьму парасольку, інакше (else) візьму сонцезахисні окуляри".
Приклади if-else
Приклад 1: Перевірка віку
age = int(input("Скільки тобі років? "))
if age >= 12:
print("Ти можеш грати в цю гру!")
else:
print("Вибач, тобі потрібно підрости!")
Приклад 2: Перевірка паролю
password = input("Введи пароль: ")
if password == "секрет":
print("Доступ надано!")
else:
print("Неправильний пароль!")
Приклад 3: Парне/непарне число
number = int(input("Введи ціле число: "))
if number % 2 == 0: # Перевіряємо, чи число ділиться на 2 без остачі
print("Це парне число!")
else:
print("Це непарне число!")
Візуалізація роботи if-else
Уяви, що код - це дорога з розвилкою:
Умова?
|
_____|_____
| |
True False
| |
V V
Блок 1 Блок 2
| |
|___________|
|
V
Продовження програми
Практичне завдання
Давай напишемо програму-гру "Вгадай число":
secret_number = 7 # Загадане число
guess = int(input("Вгадай число від 1 до 10: "))
if guess == secret_number:
print("Вітаю! Ти вгадав!")
else:
print("На жаль, не вгадав. Я загадав число", secret_number)
Інше практичне завдання
Створімо просту програму-перевірку погоди:
weather = input("Яка сьогодні погода? (сонячно/дощ/сніг): ")
if weather == "сонячно":
print("Чудовий день для прогулянки!")
else:
print("Можливо, краще залишитися вдома і програмувати на Python.")
Порада
Оператори if
та else
дозволяють твоїй програмі розгалужуватись, як дерево рішень. Кожен шлях залежить від того, чи є умова істинною або хибною.
Спробуй сам
-
Напиши програму, яка запитує в користувача два числа і визначає, яке з них більше, або повідомляє, що вони рівні.
-
Створи програму-перевірку на доступ до атракціону: якщо зріст дитини понад 120 см, то доступ дозволено, інакше - заборонено.
Оператор elif: коли варіантів більше двох
А що, якщо у нас більше двох варіантів? Наприклад, не просто "іде дощ чи ні", а "сонячно", "хмарно", "дощ" або "сніг"? Тут допоможе оператор elif
(скорочення від "else if" - "інакше якщо").
Як працює if-elif-else
- Спочатку перевіряється умова після
if
- Якщо вона False, перевіряється умова після
elif
- Якщо і вона False, перевіряється наступний
elif
(їх може бути багато) - Якщо всі умови False, виконується блок
else
(якщо він є)
if умова_1:
# виконується, якщо умова_1 True
elif умова_2:
# виконується, якщо умова_1 False, але умова_2 True
elif умова_3:
# виконується, якщо умова_1 та умова_2 False, але умова_3 True
else:
# виконується, якщо всі попередні умови False
Приклад 1: Оцінки
score = int(input("Введи кількість балів (від 0 до 100): "))
if score >= 90:
print("Відмінно! Твоя оцінка: A")
elif score >= 80:
print("Дуже добре! Твоя оцінка: B")
elif score >= 70:
print("Добре! Твоя оцінка: C")
elif score >= 60:
print("Задовільно. Твоя оцінка: D")
else:
print("Треба більше працювати. Твоя оцінка: F")
Приклад 2: Пори року
month = input("Введи поточний місяць: ").lower()
if month == "грудень" or month == "січень" or month == "лютий":
print("Зараз зима")
elif month == "березень" or month == "квітень" or month == "травень":
print("Зараз весна")
elif month == "червень" or month == "липень" or month == "серпень":
print("Зараз літо")
elif month == "вересень" or month == "жовтень" or month == "листопад":
print("Зараз осінь")
else:
print("Не знаю такого місяця!")
Приклад 3: Калькулятор
num1 = float(input("Введи перше число: "))
num2 = float(input("Введи друге число: "))
operation = input("Що зробити? (+, -, *, /): ")
if operation == "+":
result = num1 + num2
print("Сума:", result)
elif operation == "-":
result = num1 - num2
print("Різниця:", result)
elif operation == "*":
result = num1 * num2
print("Добуток:", result)
elif operation == "/":
if num2 != 0: # Перевірка ділення на нуль
result = num1 / num2
print("Частка:", result)
else:
print("Помилка! Ділити на нуль не можна!")
else:
print("Невідома операція!")
Важливо знати:
- Python перевіряє умови зверху вниз і виконає код під першою умовою, яка виявиться True.
- Решта умов вже не будуть перевірятися, навіть якщо вони теж True.
- Блок
else
виконується тільки якщо жодна з умов не є True.
Практичне завдання
Створи програму, яка запитує вік користувача і виводить повідомлення:
- Якщо вік менше 6 - "Ти ще малюк"
- Якщо від 6 до 12 - "Ти школяр молодших класів"
- Якщо від 13 до 18 - "Ти підліток"
- Якщо більше 18 - "Ти вже дорослий"
Вкладені умови: if всередині if
Іноді для прийняття рішення потрібно перевірити декілька умов одну за одною. Для цього ми можемо розмістити один оператор if
всередині іншого. Це називається вкладеними умовами.
Як працюють вкладені умови
if умова_1:
# Цей код виконується, якщо умова_1 True
if умова_2:
# Цей код виконується, якщо і умова_1, і умова_2 True
else:
# Цей код виконується, якщо умова_1 True, але умова_2 False
else:
# Цей код виконується, якщо умова_1 False
Це схоже на ситуацію в житті: "Якщо сьогодні вихідний (перша умова), то якщо погода гарна (друга умова), я піду на прогулянку, інакше залишуся вдома і читатиму книгу. Але якщо сьогодні не вихідний, то я піду на роботу/навчання."
Приклад 1: Перевірка на доступ до гри
age = int(input("Скільки тобі років? "))
if age >= 12:
print("Ти підходиш за віком.")
password = input("Введи пароль: ")
if password == "секрет":
print("Доступ надано! Гра запускається...")
else:
print("Неправильний пароль.")
else:
print("Вибач, ти ще замалий для цієї гри.")
Приклад 2: Вибір напою
is_hot = input("Зараз спекотно? (так/ні): ").lower() == "так"
if is_hot:
print("Рекомендую холодний напій.")
wants_sweet = input("Бажаєш щось солодке? (так/ні): ").lower() == "так"
if wants_sweet:
print("Спробуй холодний лимонад або фруктовий сік!")
else:
print("Рекомендую холодну воду з лимоном або холодний чай.")
else:
print("Рекомендую теплий напій.")
wants_caffeine = input("Бажаєш напій з кофеїном? (так/ні): ").lower() == "так"
if wants_caffeine:
print("Спробуй каву або чорний чай!")
else:
print("Рекомендую трав'яний чай або какао.")
Візуалізація вкладених умов
Умова_1?
|
_____|_____
| |
True False
| |
V V
Умова_2? Блок 3
|
____|____
| |
True False
| |
V V
Блок 1 Блок 2
Поради щодо вкладених умов
- Відступи дуже важливі! Неправильні відступи приведуть до синтаксичних помилок або до неочікуваної поведінки програми.
- Не перестарайся з вкладеністю - якщо рівнів вкладеності стає забагато (більше 2-3), код стає важко читати і розуміти.
- Іноді замість глибоких вкладених умов можна використовувати комбіновані умови з логічними операторами, які ми вивчимо в наступному розділі.
Практичне завдання
Напиши програму для замовлення піци з такою логікою:
- Спочатку запитай, яку піцу хоче користувач: "Маргариту", "Пепероні" чи "Гавайську"
- Якщо обрано "Гавайську", запитай чи точно користувач хоче ананаси на піці (так/ні)
- Потім запитай розмір піци: малу, середню чи велику
- Виведи повідомлення з підтвердженням замовлення
Логічні оператори: and, or, not
Іноді нам потрібно перевірити декілька умов одночасно. Для цього в Python є спеціальні логічні оператори: and
, or
і not
. Вони дозволяють об'єднувати або змінювати умови.
Оператор and (і)
Оператор and
повертає True
тільки якщо обидві умови істинні:
# Таблиця істинності для and
# True and True = True
# True and False = False
# False and True = False
# False and False = False
Приклад: Щоб піти на пляж, потрібно щоб було і сонячно, і тепло:
is_sunny = True
is_warm = True
if is_sunny and is_warm:
print("Ідемо на пляж!")
else:
print("Залишаємось вдома.")
Приклад з числами:
age = 12
height = 150
# Для поїздки на атракціоні потрібно бути старше 10 років І мати зріст понад 140 см
if age > 10 and height > 140:
print("Ти можеш кататися на американських гірках!")
else:
print("Вибач, ти не відповідаєш вимогам для цього атракціону.")
Оператор or (або)
Оператор or
повертає True
якщо хоча б одна з умов істинна:
# Таблиця істинності для or
# True or True = True
# True or False = True
# False or True = True
# False or False = False
Приклад: Щоб скасувати поїздку, достатньо щоб ішов дощ або був сильний вітер:
is_raining = False
is_windy = True
if is_raining or is_windy:
print("Поїздку скасовано!")
else:
print("Поїздка відбудеться за планом.")
Приклад із вхідними даними:
payment_method = input("Як бажаєте оплатити? (карта/готівка): ")
if payment_method == "карта" or payment_method == "готівка":
print("Оплата прийнята!")
else:
print("Вибачте, такий спосіб оплати не приймається.")
Оператор not (не)
Оператор not
змінює булеве значення на протилежне:
# Таблиця істинності для not
# not True = False
# not False = True
Приклад:
is_raining = True
if not is_raining:
print("Можна йти гуляти!")
else:
print("Краще залишитись вдома.")
Приклад з перевіркою пароля:
password = input("Введи пароль: ")
# Перевіряємо, що пароль не порожній
if not password: # Порожній рядок є False, not False стає True
print("Потрібно ввести пароль!")
else:
print("Пароль прийнято.")
Комбінування логічних операторів
Можна комбінувати кілька логічних операторів в одній умові:
age = 14
with_parents = False
movie_rating = "PG-13"
# Перевірка, чи можна підлітку дивитися фільм
if (age >= 13 and movie_rating == "PG-13") or with_parents:
print("Ти можеш подивитися цей фільм.")
else:
print("Вибач, цей фільм не для твого віку.")
Порядок виконання логічних операторів
Python оцінює логічні оператори в такому порядку:
- Спочатку виконується
not
- Потім
and
- Потім
or
Якщо ти хочеш змінити порядок виконання, використовуй дужки, як у прикладі вище.
Практичне завдання
Напиши програму, яка визначає, чи може дитина піти на прогулянку, враховуючи такі умови:
- Дитина може піти гуляти, якщо на вулиці не йде дощ І температура вище 15 градусів
- АБО якщо з нею йдуть батьки І дощ не сильний
Підказка: Спочатку запитай всі необхідні дані (чи йде дощ, температуру, чи йдуть батьки, чи сильний дощ), а потім скомбінуй їх у складній умові.
Створюємо гру з умовами
Давай застосуємо наші знання про умови та логіку, щоб створити просту інтерактивну гру! Ми напишемо текстову пригоду, де гравець робитиме вибір, а програма реагуватиме відповідно.
Гра "Підземелля і дракони"
print("=== ПРИГОДА В ТАЄМНИЧОМУ ЛІСІ ===")
print("Ти опинився на роздоріжжі в зачарованому лісі.")
choice = input("Куди підеш? (ліворуч/праворуч/прямо): ").lower()
if choice == "ліворуч":
print("Ти пішов ліворуч і побачив загадкову печеру.")
choice2 = input("Зайти в печеру чи пройти повз? (зайти/пройти): ").lower()
if choice2 == "зайти":
print("В печері ти знайшов скарб! Ти переміг!")
else:
print("Ти пройшов повз печеру і заблукав у лісі. Гра закінчена.")
elif choice == "праворуч":
print("Ти пішов праворуч і зустрів дивного чарівника.")
choice2 = input("Поговорити з чарівником чи втекти? (поговорити/втекти): ").lower()
if choice2 == "поговорити":
print("Чарівник дав тобі магічний амулет і показав шлях додому. Ти переміг!")
else:
print("Ти спробував втекти, але чарівник перетворив тебе на жабу. Гра закінчена.")
elif choice == "прямо":
print("Ти пішов прямо і дійшов до річки.")
has_boat = input("У тебе є човен? (так/ні): ").lower() == "так"
can_swim = input("Ти вмієш плавати? (так/ні): ").lower() == "так"
if has_boat or can_swim:
print("Ти успішно перетнув річку і знайшов шлях додому. Ти переміг!")
else:
print("Ти не можеш перетнути річку. Гра закінчена.")
else:
print("Ти не вибрав жодного напрямку і заблукав у лісі. Гра закінчена.")
Як працює ця гра:
- Спочатку гравцю дається вибір: піти ліворуч, праворуч або прямо.
- Залежно від вибору, гравець потрапляє в різні ситуації.
- У кожній ситуації гравець знову робить вибір.
- Кінцевий результат залежить від комбінації виборів гравця.
Ускладнюємо гру: додаємо інвентар
Давай ускладнимо нашу гру, додавши інвентар і більше логіки:
print("=== ПРИГОДА В ЗАЧАРОВАНОМУ ЛІСІ ===")
print("Ти опинився в зачарованому лісі. Твоя мета - знайти скарб і вибратися живим.")
# Початковий інвентар
has_sword = False
has_key = False
has_map = False
# Перший вибір
print("\nТи бачиш перед собою стару хатину і вузьку стежку.")
choice1 = input("Куди піти? (хатина/стежка): ").lower()
if choice1 == "хатина":
print("\nТи зайшов у хатину і бачиш старий меч на стіні.")
take_sword = input("Взяти меч? (так/ні): ").lower() == "так"
if take_sword:
has_sword = True
print("Ти взяв меч! Тепер можеш захиститися від ворогів.")
else:
print("Ти вирішив не брати меч.")
print("\nВиходячи з хатини, ти знову опиняєшся на роздоріжжі.")
choice2 = input("Куди тепер? (ліс/гори): ").lower()
elif choice1 == "стежка":
print("\nІдучи стежкою, ти знаходиш загублену карту.")
has_map = True
print("Ти знайшов карту! Тепер тобі буде легше орієнтуватися.")
print("\nСтежка привела тебе до роздоріжжя.")
choice2 = input("Куди тепер? (ліс/гори): ").lower()
else:
print("\nТи вагаєшся занадто довго і вирішуєш просто йти вперед.")
choice2 = "ліс" # За замовчуванням
# Другий вибір
if choice2 == "ліс":
print("\nТи входиш у темний ліс.")
if has_map:
print("Завдяки карті ти легко знаходиш шлях і бачиш старий замок.")
else:
print("Без карти ти трохи блукаєш, але все ж знаходиш старий замок.")
print("\nПеред замком стоїть охоронець-гоблін.")
if has_sword:
print("Ти показуєш свій меч, і гоблін відступає, дозволяючи тобі пройти.")
has_key = True
print("Гоблін впустив ключ! Ти підіймаєш його.")
else:
fight = input("Гоблін не пускає тебе. Битися з ним голіруч? (так/ні): ").lower() == "так"
if fight:
print("Без меча битися важко! Гоблін перемагає, але віддає тобі ключ зі співчуття.")
has_key = True
else:
print("Ти вирішуєш не битися і шукаєш інший вхід.")
elif choice2 == "гори":
print("\nТи піднімаєшся в гори і знаходиш печеру дракона.")
if has_sword:
print("З мечем ти відчуваєш себе впевненіше і заходиш у печеру.")
print("Дракон спить! Ти помічаєш ключ серед його скарбів.")
take_key = input("Спробувати взяти ключ? (так/ні): ").lower() == "так"
if take_key:
has_key = True
print("Ти обережно забираєш ключ, не розбудивши дракона!")
else:
print("Ти вирішуєш не ризикувати і тихо покидаєш печеру.")
else:
print("Без зброї ти не ризикуєш заходити в печеру дракона і обходиш її.")
# Фінал
print("\n=== ФІНАЛЬНЕ ВИПРОБУВАННЯ ===")
print("Ти дійшов до таємничої скрині зі скарбом. Вона замкнена.")
if has_key:
print("Ти використовуєш ключ, який отримав, і відкриваєш скриню!")
print("Вітаємо! Ти знайшов скарб і успішно пройшов гру!")
else:
print("У тебе немає ключа від скрині...")
if has_sword:
print("Але ти використовуєш свій меч, щоб зламати замок!")
print("Вітаємо! Хоч і не найелегантніший спосіб, але ти знайшов скарб!")
else:
print("Без ключа або меча ти не можеш відкрити скриню. Доведеться йти з порожніми руками.")
print("Гра закінчена. Спробуй ще раз, але з іншими рішеннями!")
Чому ця гра демонструє наші знання про умови:
- Прості умови: Ми використовуємо
if
,elif
іelse
для створення різних шляхів у грі. - Вкладені умови: У кожному сценарії є свої додаткові вибори.
- Логічні оператори: Ми використовуємо
or
для перевірки, чи може гравець перетнути річку. - Булеві змінні: Ми використовуємо
has_sword
,has_key
іhas_map
для відстеження інвентаря. - Порівняння: Ми порівнюємо введення користувача з очікуваними значеннями.
Твоя черга творити!
Спробуй доповнити або змінити цю гру:
- Додай нові шляхи або предмети
- Створи нових персонажів
- Додай лічильник здоров'я або сили
- Придумай інші фінали
Використовуй свою уяву і все, що ти вивчив про умови та логіку в Python!
Завдання для практики
Досить теорії! Найкращий спосіб навчитися програмувати — це багато практикуватися. Ось кілька завдань, які допоможуть тобі закріпити знання про умови та логіку. Спробуй розв'язати їх самостійно!
Рівень 1: Початківець
Завдання 1: Перевірка паролю
# Напиши програму, яка запитує пароль
# Якщо пароль "драконячелюсть", виведи "Доступ надано"
# Інакше виведи "Доступ заборонено"
# Твій код:
password = input("Введи пароль: ")
# Тут використай if та else
Завдання 2: Парне або непарне
# Запитай у користувача число
# Виведи, чи є це число парним або непарним
# Підказка: використай оператор % (остача від ділення)
# Твій код:
number = int(input("Введи число: "))
# Перевір, чи ділиться число на 2 без остачі
Завдання 3: Порівняння чисел
# Запитай у користувача два числа
# Виведи, яке число більше, або повідом, що вони рівні
# Твій код:
num1 = float(input("Введи перше число: "))
num2 = float(input("Введи друге число: "))
# Використай if, elif та else для порівняння
Рівень 2: Середній
Завдання 4: Калькулятор оцінок
# Запитай у користувача кількість балів (від 0 до 100)
# Виведи оцінку:
# 90-100: "Відмінно"
# 80-89: "Дуже добре"
# 70-79: "Добре"
# 60-69: "Задовільно"
# Менше 60: "Потрібно більше працювати"
# Твій код:
score = int(input("Введи кількість балів (0-100): "))
# Використай if, elif та else
Завдання 5: Визначення пори року
# Запитай у користувача номер місяця (1-12)
# Виведи відповідну пору року:
# 12, 1, 2: "Зима"
# 3, 4, 5: "Весна"
# 6, 7, 8: "Літо"
# 9, 10, 11: "Осінь"
# Якщо користувач ввів неправильне число, повідом про це
# Твій код:
month = int(input("Введи номер місяця (1-12): "))
# Тут використай if, elif та else для перевірки місяця
Завдання 6: Логічні оператори
# Напиши програму для перевірки, чи може людина подивитися фільм
# Запитай вік та чи є з нею батьки (так/ні)
# Якщо вік 13+ АБО є батьки, то можна дивитися фільм
# Інакше не можна
# Твій код:
age = int(input("Скільки тобі років? "))
with_parents = input("Ти з батьками? (так/ні): ").lower() == "так"
# Використай логічний оператор or
Рівень 3: Просунутий
Завдання 7: Банкомат
# Створи простий банкомат
# Встанови pin_code = "1234" та balance = 1000
# Запитай у користувача PIN-код
# Якщо PIN-код правильний, запитай, яку операцію виконати:
# 1: "Перевірити баланс" - покаже скільки грошей на рахунку
# 2: "Зняти гроші" - запитає суму, перевірить чи достатньо коштів, і оновить баланс
# 3: "Вийти" - покаже повідомлення про завершення
# Якщо PIN-код неправильний, виведи повідомлення про помилку
# Твій код:
pin_code = "1234"
balance = 1000
# Використай вкладені умови
Завдання 8: Вгадай число
# Створи гру "Вгадай число"
# Загадай число від 1 до 10 (наприклад, secret = 7)
# Запитай у користувача його здогадку
# Дай підказку, якщо число більше або менше загаданого
# Повідом, якщо користувач вгадав
# Твій код:
from random import randint
secret = randint(1, 10) # Випадкове число від 1 до 10
guess = int(input("Вгадай число від 1 до 10: "))
# Використай if, elif та else для порівняння
Завдання 9: Перевірка логіну та паролю
# Створи програму для входу у систему
# Встанови правильний логін "admin" і пароль "secret123"
# Запитай у користувача логін та пароль
# Виведи відповідне повідомлення:
# Якщо логін неправильний: "Користувача не знайдено"
# Якщо логін правильний, але пароль ні: "Неправильний пароль"
# Якщо обидва правильні: "Вітаємо в системі"
# Твій код:
correct_login = "admin"
correct_password = "secret123"
# Запитай логін і пароль та перевір їх
Бонусне завдання: Створи свою гру!
Тепер ти знаєш достатньо, щоб створити свою текстову пригоду, подібну до тієї, що ми розглядали в попередньому розділі. Пам'ятай:
- Використовуй умови (
if
,elif
,else
) для створення різних шляхів у грі - Додай змінні для відстеження інвентаря або характеристик героя
- Використовуй
input()
для отримання виборів користувача - Будь креативним і розважайся!
Коли закінчиш свою програму, запусти її і перевір, чи правильно вона працює. Не хвилюйся, якщо спочатку будуть помилки — це нормальна частина програмування!
Підсумок розділу
Що ми вивчили в цьому розділі:
-
Булеві значення: Тип даних, який має лише два стани -
True
(правда) абоFalse
(неправда). -
Оператори порівняння:
==
(дорівнює)!=
(не дорівнює)>
(більше)<
(менше)>=
(більше або дорівнює)<=
(менше або дорівнює)
- Умовні оператори:
if
- виконує блок коду, якщо умова правдиваelse
- виконує блок коду, якщо умова if неправдиваelif
- перевіряє додаткові умови, якщо попередні умови неправдиві
-
Вкладені умови: Розміщення умовних операторів всередині інших умовних операторів для створення складніших рішень.
-
Логічні оператори:
and
- правда тільки якщо обидві умови правдивіor
- правда, якщо хоча б одна умова правдиваnot
- змінює булеве значення на протилежне
- Практичне застосування: Створення інтерактивних ігор та програм, які приймають рішення на основі умов.
Ключові поняття:
Поняття | Опис | Приклад |
---|---|---|
Булеве значення | Тип даних з двома можливими значеннями | True , False |
Оператор порівняння | Порівнює значення і повертає булевий результат | a == b , x > y |
Умовний оператор | Виконує код залежно від виконання умови | if , else , elif |
Логічний оператор | Комбінує або змінює булеві вирази | and , or , not |
Вкладені умови | Умовні оператори всередині інших умовних операторів | if x: if y: ... |
Розгалуження | Створення різних шляхів виконання програми | Різні сценарії в грі |
Що ти тепер вмієш:
✅ Використовувати булеві значення для прийняття рішень у програмах
✅ Порівнювати числа, рядки та інші значення
✅ Створювати умови з операторами if
, elif
, та else
✅ Об'єднувати умови з логічними операторами and
, or
, not
✅ Створювати складні умови з декількома перевірками
✅ Будувати вкладені структури умов
✅ Створювати інтерактивні програми, що реагують на введення користувача
✅ Розуміти та виправляти типові помилки в умовних операторах
Що далі?
У наступному розділі ми дізнаємося про:
- Цикли в Python - повторення дій багато разів
- Цикл
while
- повторення, поки умова правдива - Цикл
for
- перебір елементів колекції - Керування циклами з командами
break
іcontinue
- Створення повторюваних дій та автоматизація обчислень
- Розробка цікавих ігор з використанням циклів
Твій словник Python:
- Булеве значення — дані типу True або False, які використовуються для прийняття рішень
- Умова — вираз, який оцінюється як True або False
- if — оператор, який виконує код тільки якщо умова правдива
- elif — використовується після if для перевірки додаткових умов
- else — виконує код, якщо всі попередні умови неправдиві
- and — логічний оператор, який повертає True тільки якщо обидві умови True
- or — логічний оператор, який повертає True, якщо хоча б одна умова True
- not — логічний оператор, який перетворює True на False і навпаки
Маленький секрет 🚀
Тепер, коли ти вивчив умови, ти можеш створювати програми, які "думають" і приймають рішення! Це перший крок до створення штучного інтелекту. Справжній ШІ працює за набагато складнішими принципами, але в його основі - теж логіка та умови, тільки їх дуже-дуже багато!