Логічними є вирази, при обчисленні яких одержується логічне значення True або False(«істина» або «хиба»). Результат їх обчислення можна зберігати в змінну, яка буде мати тип bool. Змінна типу bool може набувати одного з двох значень — True (Істина) або False (Хибність).
Приклад:
Якщо змінній надати значення True, це буде змінна типу bool:
>>> type(True)
<class 'bool'>
>>> a = True
>>> print(a)
True
>>> type(True)
<class 'bool'>
>>> a = True
>>> print(a)
True
Прості умови
Проста умова — це два вирази, з'єднані оператором порівняння. Простий логічний вираз (проста умова) утворюється за допомогою логічних операцій:
Знак операції
|
Значення
|
Логічний вираз
|
Результат
|
==
|
Дорівнює
|
8 == 9
|
False
|
<
|
Менше
|
8 < 9
|
True
|
>
|
Більше
|
8 > 9
|
False
|
<=
|
Менше або дорівнює
|
5 <= 2
|
False
|
>=
|
Більше або дорівнює
|
5 >= 2
|
True
|
!=
|
Не дорівнює
|
5 != 2
|
True
|
Приклад:
Змінній можна присвоїти значення логічного виразу, при цьому створюється змінна типу bool :
>> a=3<5
>>> a
True
>>> a
True
Складені умови
Складена умова — кілька простих умов, з'єднаних логічними операціями AND (логічне І, інакше — логічний добуток), OR (логічне АБО, інакше — логічна сума), ХОR ((виключне АБО), NOT (логічне заперечення).
Логічну функцію прийнято задавати у вигляді таблиці істинності, вхідними значеннями якої є аргументи функції (значення змінних для логічного виразу), а вихідними – відповідні значення логічної функції.
Обчислення виразів виконуються зліва направо у відповідності до пріоритету операцій:
1 – Not; 2 – And; 3 – Or.
1 – Not; 2 – And; 3 – Or.
Приклад:
not а <= 3 — рівнозначне виразу а > 3;
age >= 10 and age <= 18 — істинне тоді й тільки тоді, коли значення age розташовується в проміжку від 10 до 18 включно;
age < 10 or age > 18 — істинне для всіх значень age, які не належать проміжку від 10 до 18.
age >= 10 and age <= 18 — істинне тоді й тільки тоді, коли значення age розташовується в проміжку від 10 до 18 включно;
age < 10 or age > 18 — істинне для всіх значень age, які не належать проміжку від 10 до 18.
Приклад:
Нехай потрібно визначити, чи належить точка з координатою Х відрізку [0; 10]. У вигляді подвійної нерівності цю умову можна записати так: . У Python подвійна нерівність записується як складена умова:
х >= 0 аnd х <= 10.
х >= 0 аnd х <= 10.
Умова істинна, якщо x>=0 i x<=10.
Приклад:
Перевіримо, чи належить значення NUM проміжку [7; 20]:
NUM = 12
print (NUM >= 7 and NUM <= 20) # Буде виведено True
Вбудовані функції all і any
Одночасну перевірку декількох умов можна записати коротше за допомогою вбудованих функцій all (англ. усі) і any (англ. хоч одна).
Функція all([<список логічних виразів>]) повертає True, якщо істинні всі перелічені в списку умови.
Приклад:
З’ясуємо, чи є значення NUM парним числом із проміжку від 7 до 20. Для цього слід одночасно перевірити три умови:
>>> NUM = 8
>>> all([NUM >= 7, NUM <= 20, NUM%2 == 0])
True
Функція any([<список логічних виразів>]) повертає True, якщо хоча б один елемент списку дорівнює True.
Приклад:
Перевіримо, чи дорівнює 0 хоча б одне зі значень x, y, z:
>>> x, y, z = 4, 0, 5
>>> any([x == 0, y == 0, z == 0])
True
Джерела:
Інформатика : підруч. для 7-го кл. закл. заг. серед. освіти / Йосиф Ривкінд [та ін.]. — Київ : Генеза, 2024.
Інформатика : підруч. для 7 кл. закл. загал. серед. освіти / [О. О. Бондаренко, В. В. Ластовецький, О. П. Пилипчук, Є. А. Шестопалов]. — Харків : Вид-во «Ранок», 2024.