Окрім уже відомих нам числового та рядкового типів даних у Python є логічний тип bool. Змінна типу bool може набувати одного з двох значень — True (Істина) або False (Хибність).
Якщо змінній надати значення True, це буде змінна типу bool:
>>> type(True)
<class 'bool'>
>>> a = True
>>> print(a)
True
>>> type(True)
<class 'bool'>
>>> a = True
>>> print(a)
True
Умова — це твердження, яке може бути істинним чи хибним.
Якщо твердження істинне, то вважається, що умова виконана. Перевірка умови повинна бути допустимою дією виконавця.
Умови в програмі записуються у вигляді логічних виразів.
Логічними є вирази, результатом яких є True або False.
Прості умови
Проста умова — це два вирази, з'єднані оператором порівняння. Простий логічний вираз (проста умова) утворюється за допомогою логічних операцій:
Знак операції
|
Значення
|
Логічний вираз
|
Результат
|
==
|
Дорівнює
|
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
Логічні операції працюють і у вікні консолі.
Приклад:
Виконай цей приклад, щоб ознайомитися з результатами обчислення логічних виразів:
>>> books = 10
>>> books == 5 # Перевірка, чи дорівнює books 5
False
>>> books > 1 # Перевірка, чи є books більшим за 1
True
>>> books >= 5
True
>>> books = 10
>>> books == 5 # Перевірка, чи дорівнює books 5
False
>>> books > 1 # Перевірка, чи є books більшим за 1
True
>>> books >= 5
True
Складені умови
Складена умова — кілька простих умов, з'єднаних логічними операціями AND (логічне І, інакше — логічний добуток), OR (логічне АБО, інакше — логічна сума), ХОR ((виключне АБО), NOT (логічне заперечення).
Логічну функцію прийнято задавати у вигляді таблиці істинності, вхідними значеннями якої є аргументи функції (значення змінних для логічного виразу), а вихідними – відповідні значення логічної функції.
Обчислення виразів виконуються зліва направо у відповідності до пріоритету операцій:
1 – Not; 2 – And; 3 – Or.
Приклад виконання програми:
a=?7
b=?5
c=?3
Число B знаходиться мiж числами A i C - True
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.
not а <= 3 — рівнозначне виразу а > 3;
age >= 10 and age <= 18 — істинне тоді й тільки тоді, коли значення age розташовується в проміжку від 10 до 18 включно;
age < 10 or age > 18 — істинне для всіх значень age, які не належать проміжку від 10 до 18.
>>> books == 10 or books == 5 #перевірка, чи дорівнює books 10 або 5
True
>>> books == 10 and books == 5 #перевірка, чи дорівнює books одночасно 10 і 5
False
Нехай потрібно визначити, чи належить точка з координатою Х відрізку [0; 10]. У вигляді подвійної нерівності цю умову можна записати так: . У Python подвійна нерівність записується як складена умова:
х >= 0 аnd х <= 10.
True
>>> books == 10 and books == 5 #перевірка, чи дорівнює books одночасно 10 і 5
False
Нехай потрібно визначити, чи належить точка з координатою Х відрізку [0; 10]. У вигляді подвійної нерівності цю умову можна записати так: . У Python подвійна нерівність записується як складена умова:
х >= 0 аnd х <= 10.
Умова істинна, якщо x>=0 i x<=10.
Задача 1. Дано три цілих числа: A, B, C. Скласти програму для перевірки істинності висловлювання: «Число B знаходиться між числами A і C». Необхідно врахувати обидва варіанти: A<C і A>C.
Програмний код:
a = int(input('a=?'))
b = int(input('b=?'))
c = int(input('c=?'))
vidp = a<b and b<c or c<b and b<a
Задача 1. Дано три цілих числа: A, B, C. Скласти програму для перевірки істинності висловлювання: «Число B знаходиться між числами A і C». Необхідно врахувати обидва варіанти: A<C і A>C.
Програмний код:
a = int(input('a=?'))
b = int(input('b=?'))
c = int(input('c=?'))
vidp = a<b and b<c or c<b and b<a
print ('Число B знаходиться мiж числами A i C - ', vidp)
Приклад виконання програми:
a=?7
b=?5
c=?3
Число B знаходиться мiж числами A i C - True