6.1 Логічний тип даних
Думаю, що ви не раз зустрічалися з поняттям логіки, зокрема математичної. З ресурсів Вікіпедії маємо визначення логіки. Логіка — наука про закони і різновиди мислення, умови істинності знань і суджень. А тепер спробуємо сформувати своє визначення, більш простіше, яке ми будемо використовувати. Логіка – наука про умови. Без володіння логікою не можливо вирішити жодну задачу з математики, та й у повсякденному житті ми не раз користувалися різними видами логіки. Для програмістів математична логіка це така собі “зброя”, без якої жоден програміст не зміг би створити жодної програми.
Ще з молодших класів ви навчилися порівнювати між собою числа та вирази, а також перевіряти певні умови, звичайно ж за допомогою математичної логіки. Наприклад: твердження 2>1 є вірним, або істинним, а твердження 1>2 не є вірним, а отже хибне.
У всіх мовах програмування існує окремий тип даних для логічних виразів – логічний тип даних, або, як його ще називають, булевий. Назва пішла від імені відомого англійського математика, основоположника математичної логіки Джорджа Буля (мал. 7).

Мал. 7
Всі логічні вирази (порівняння даних) належать щодо булевого типу даних. Для порівняння даних застосовуються наступні знаки (табл. 3).
| Назва | Позначення |
| Рівність | == |
| Більше (Менше) | >(<) |
| Більше або дорівнює (Менше або дорівнює) | >=(<=) |
| Не дорівнює | != |
Табл. 3
Булевий тип даних вважають дуже примітивним, адже він має всього 2 значення: True (істина), або False (хиба). Залежно від того, чи виконується умова вираз може набувати або значення True, або False. Тобто:

Якщо вам потрібно представити True або False за допомогою цифр, то True позначають 1, а False позначають 0, так як кожне із значень займає всього 1 біт, бо як відомо біт це 1 або 0.
6.2 Дії з даними логічного типа даних
Як і ті типи даних, які ми вивчили раніше, булевий тип даних, можна перевести в цілі та дійсні числа або рядки тексту. Для цього потрібно застосувати вже вам відому функції int(), float(), str(). Та зважаючи на те, що ми маємо тільки 2 значення, результат очевидний:

З того, що значення булевого типу даних можуть приймати значення цілих чисел, ми можемо додавати, віднімати, ділити та множити логічні вирази на числа, але при цьому потрібно користуватися функціями переводу. Наприклад: int(2>1)+3*(2+int(1>2)) в Python буде дорівнювати 7, так як int(2>1)=1, a int(1>2)=0, тобто 1+3*(2+0) =7.
Розглянемо приклад задачі. На вході маємо число а, яке запитується у користувача, перевіряється умова а>0, результат перевірки виводиться на екран з приставкою “It’s” в початку, тобто, якщо а буде дорівнювати 4 то на екран виведеться “It’s True” і т.п.


Контрольні запитання
1. Дайте визначення поняттю логіка.
2. Що відноситься до даних логічного типу?
3. Скільки значень може набувати будь-який логічний вираз?
4. Що це за значення?
5. Коротко розкажіть про дії з даними логічного типу.
Практичні завдання
1. Створіть новий файл Python за допомогою середовища розробки програмного забезпечення IDLE. Створіть програму за даною задачею:
a. На вході маємо число а, програма перевіряє чи є число а: 1) більше 0; 2) менше 0 та виводить результат у вигляді True або False;
b. На вході маємо 2 числа, програма порівнює їх між собою і виводить результат у вигляді True або False. Порівняння відбувається за такими пунктами:
- чи ці числа рівні;
- чи числа нерівні;
- чи число більше за друге;
- чи друге число більше за перше;
- чи квадрат першого числа більший за квадрат другого числа;
- чи сума цих чисел більша за їх добуток.
2.* Побудувати програму “Щасливий квиток”. Припустимо користувач придбав квиток на автобус з чотирьохзначним номером. Квиток буде вважатися щасливим, якщо сума перших двох цифр буде дорівнювати сумі двох інших цифр цього квитка. На вході матимемо два числа, перше буде складатися із перших 2 цифр номеру білету, а наступне число із двох інших цифр. На виході маємо повідомлення у вигляді True/False.