Зміст курсу
Вступ до Python
3. Умовні Оператори
Вступ до Python
Комбінування Умов
У булевій логіці є два фундаментальні оператори - OR та AND. Що вони собою представляють?
Оператор OR перевіряє, чи виконується будь-яка з умов, і повертає значення True
, якщо так, інакше повертає значення False
.
Оператор AND перевіряє, чи обидві умови є істинними, перш ніж повернути True
. Якщо ні, то повертається значення False
.
У Python для об'єднання умов використовуються оператори and
та or
(завжди у нижньому регістрі). Наприклад:
умова1 and умова2
повертає значенняTrue
лише тоді, коли обидві умови мають значенняTrue
.умова1 or умова2
даєTrue
, якщо хоча б одна умова єTrue
.
Примітка
За допомогою цих операторів ви також можете об'єднати більше двох умов у ланцюжок. Використовуйте круглі дужки, щоб зробити явним порядок виконання операцій.
Для ілюстрації розглянемо такі умови:
2
перевищує1
таbbb
не співпадає зaaa
.- Символ з індексом
2
у рядку"my string"
є або"y"
або"s"
.
Опис Коду
2 > 1 and "bbb" != "aaa"
міститься дві умови, з'єднані оператором and
. Перша умова 2 > 1
є правдивою, оскільки 2 більше ніж 1. Друга умова "bbb" != "aaa"
також правдива, тому що рядки "bbb" та "aaa" не рівні. Оскільки обидві умови правдиві і з'єднані через and
, весь вираз оцінюється як правдивий.У другому рядку
"my string"[2] == "y" or "my string"[2] == "s"
перевіряється дві умови, з'єднані оператором or
. Вираз "my string"[2]
відноситься до третього символу рядка "my string", який є " ". Перша умова "my string"[2] == "y"
є неправдивою. Друга умова "my string"[2] == "s"
також є неправдивою. Отже, оскільки обидві умови є неправдивими і вони з'єднані через or
, загальний вираз оцінюється як неправдивий.
Як ми повинні інтерпретувати результати? Початковий print()
видає відповідь True
, оскільки і 2 > 1
, і "bbb" != "aaa"
є істинними. Наступний print()
видає відповідь False
, оскільки символ з індексом 2
не є ні 'y'
, ні 's'
(насправді це пробіл).
Примітка
Якщо ви хочете змінити булеве значення на протилежне, використовуйте оператор
not
. Наприклад,not 1 == 1
призведе до значенняFalse
, оскільки1 == 1
є значеннямTrue
, а ми змінили його наFalse
.
Опис Коду
print(0 > 10 and 5 > 2)
: Виводить False
, оскільки, хоча 5 > 2
є правдою, 0 > 10
є неправдою. Оператор and
вимагає, щоб обидві умови були правдивими, але оскільки одна з них є неправдивою, весь вираз є неправдивим.print(2*2 == 5 or 1+1 != 3)
: Виводить True
, оскільки 2*2 == 5
є неправдою, але 1+1 != 3
є правдою. Оператор or
вимагає, щоб хоча б одна з умов була правдивою, для того щоб весь вираз був правдивим.
Все було зрозуміло?
Зміст курсу
Вступ до Python
3. Умовні Оператори
Вступ до Python
Комбінування Умов
У булевій логіці є два фундаментальні оператори - OR та AND. Що вони собою представляють?
Оператор OR перевіряє, чи виконується будь-яка з умов, і повертає значення True
, якщо так, інакше повертає значення False
.
Оператор AND перевіряє, чи обидві умови є істинними, перш ніж повернути True
. Якщо ні, то повертається значення False
.
У Python для об'єднання умов використовуються оператори and
та or
(завжди у нижньому регістрі). Наприклад:
умова1 and умова2
повертає значенняTrue
лише тоді, коли обидві умови мають значенняTrue
.умова1 or умова2
даєTrue
, якщо хоча б одна умова єTrue
.
Примітка
За допомогою цих операторів ви також можете об'єднати більше двох умов у ланцюжок. Використовуйте круглі дужки, щоб зробити явним порядок виконання операцій.
Для ілюстрації розглянемо такі умови:
2
перевищує1
таbbb
не співпадає зaaa
.- Символ з індексом
2
у рядку"my string"
є або"y"
або"s"
.
Опис Коду
2 > 1 and "bbb" != "aaa"
міститься дві умови, з'єднані оператором and
. Перша умова 2 > 1
є правдивою, оскільки 2 більше ніж 1. Друга умова "bbb" != "aaa"
також правдива, тому що рядки "bbb" та "aaa" не рівні. Оскільки обидві умови правдиві і з'єднані через and
, весь вираз оцінюється як правдивий.У другому рядку
"my string"[2] == "y" or "my string"[2] == "s"
перевіряється дві умови, з'єднані оператором or
. Вираз "my string"[2]
відноситься до третього символу рядка "my string", який є " ". Перша умова "my string"[2] == "y"
є неправдивою. Друга умова "my string"[2] == "s"
також є неправдивою. Отже, оскільки обидві умови є неправдивими і вони з'єднані через or
, загальний вираз оцінюється як неправдивий.
Як ми повинні інтерпретувати результати? Початковий print()
видає відповідь True
, оскільки і 2 > 1
, і "bbb" != "aaa"
є істинними. Наступний print()
видає відповідь False
, оскільки символ з індексом 2
не є ні 'y'
, ні 's'
(насправді це пробіл).
Примітка
Якщо ви хочете змінити булеве значення на протилежне, використовуйте оператор
not
. Наприклад,not 1 == 1
призведе до значенняFalse
, оскільки1 == 1
є значеннямTrue
, а ми змінили його наFalse
.
Опис Коду
print(0 > 10 and 5 > 2)
: Виводить False
, оскільки, хоча 5 > 2
є правдою, 0 > 10
є неправдою. Оператор and
вимагає, щоб обидві умови були правдивими, але оскільки одна з них є неправдивою, весь вираз є неправдивим.print(2*2 == 5 or 1+1 != 3)
: Виводить True
, оскільки 2*2 == 5
є неправдою, але 1+1 != 3
є правдою. Оператор or
вимагає, щоб хоча б одна з умов була правдивою, для того щоб весь вираз був правдивим.
Все було зрозуміло?