JavaRush /Курси /Модуль 1: Python Core /Робота з логічним типом

Робота з логічним типом

Модуль 1: Python Core
Рівень 4 , Лекція 4
Відкрита

5.1 Тип bool

У Python є спеціальний логічний тип даних, з допомогою якого можна перевіряти істинність умов і виразів. Він позначається ключовим словом bool (хоча взагалі-то називається Boolean) і використовується для представлення одного з двох значень: True (Істина) або False (Хиба).

Цей тип даних надзвичайно корисний у програмуванні для керування порядком виконання програми за допомогою умовних операторів, таких як if, else та elif, а також для керування циклами та іншими структурами керування.

Важливе зауваження

Логічний тип даних у Python представлений двома постійними об'єктами: True і False. Проте слід відзначити, що Python розглядає True як числове значення 1 і False як 0. Це дозволяє використовувати їх в арифметичних операціях і робить тип bool підкласом типу int.

Практичне застосування

Незважаючи на наявність всього двох можливих значень, тип bool сильний не своїми значеннями, а набором логічних операцій, які можна проводити над ними. Про них — нижче.

5.2 Логічні оператори

Логічні операції в Python грають важливу роль в керуванні порядком виконання програми та ухваленні рішень. Основні логічні операції включають and, or та not. Розуміння їх застосування може значно покращити ефективність вашого коду.

Логічне І (AND)

Оператор and повертає True тільки якщо обидва його аргументи істинні (True). Цей оператор часто використовується для перевірки істинності кількох умов одночасно.


a = True
b = False
print(a and b)  # Виведе: False

Логічне АБО (OR)

Оператор or повертає True, якщо хоча б один з його аргументів істинний. Це корисно для умов, де виконання коду має продовжуватись при виконанні хоча б однієї з декількох можливих умов.


a = True
b = False
print(a or b)  # Виведе: True

Логічне НЕ (NOT)

Оператор not інвертує булеве значення свого аргументу. Якщо аргумент True, результат буде False і навпаки. Це може бути корисно для створення умов відмови.


a = True
print(not a)  # Виведе: False

Розширене використання

Логічні оператори часто використовуються в комбінації для створення складних умовних виразів, які допомагають контролювати складніші потоки виконання.


a = 5
b = 10
c = 20
result = a < b and b < c  # Перевіряє, що a менше b і b менше c
print(result)  # Виведе: True

Логічні операції в Python забезпечують потужний інструмент для керування поведінкою програми на основі різних умов. Вони не тільки спрощують написання коду, але й роблять його більш читабельним та підтримуваним.

5.3 Практичні приклади

Python дозволяє перетворювати інші типи даних у булевий тип за допомогою функції bool(). За замовчуванням, будь-яке ненульове або непорожнє значення буде перетворено в True, а нульові або порожні значення — у False.

Приклади приведення типів:


print(bool(0))  # Виведе False 
print(bool(42))  # Виведе True
print(bool(""))  # Виведе False
print(bool("Text"))  # Виведе True

Використання логічних змінних в умовах:


a = 5
b = 10
c = 20
is_a_min = a < b and a < c  # Перевіряє, що a менше b і a менше c 
print(is_a_min)  # Виведе: True

Логічну змінну не потрібно порівнювати з True або False, оскільки результат порівняння – це і буде True або False. Приклад:

Стартовий код Стартовий код винесли в окрему змінну Прибрали == True

if a < b:
    print("a is min")

                    is_a_less = a < b
                    if is_a_less == True:
                        print("a is min")              
                

                    is_a_less = a < b
                    if is_a_less:
                        print("a is min")               
                

Результат будь-якого порівняння має значення True або False, тому його можна присвоїти змінній – як це було зроблено в прикладі вище. Але в умові if, або циклі while, не потрібно порівнювати логічну змінну з True. Логічна змінна вже містить правильне значення. Просто дайте їй правильне ім'я, і все стане на свої місця.

Інакше кажучи, замість коду «if a == True:» потрібно просто писати «if a:». А замість коду «if a == False:» писати «if not a:».

Коментарі (4)
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ
Nikolay Рівень 11
4 листопада 2025
навіщо or та and, перевіряйте в послідовності від більшого дільника (400 - 100 - 4)
Денис Рівень 21
26 березня 2025
• Програма повинна перевіряти, чи не ділиться введений рік на 100, і використовувати цю умову в логічному операторі. • Програма повинна перевіряти, чи ділиться введений рік на 400, і використовувати цю умову в логічному операторі. тут должно быть or, а по заданию как буд-то нужно все условия писать через and
Олексій Рівень 32
11 червня 2025
Чому or? Саме and, тому що ВСІ умови мають виконатись. Навіть якщо ти не знаєш, як перевіряти, чи рік скісний, то просто логічно подуай. Якщо використовувати оператор or то друга умова тут зайва. При виконанні першої, друга виконується автоматично
Олександр Рівень 23
12 червня 2025
якщо and, то виходить, що рік має одночасно ділитися на 400 і НЕ ділитися на 100, а це не можливо, і через це умова буде хибною.