Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Комбінування Умов | Conditional Statements
course content

Зміст курсу

Вступ до Python

Вступ до Python

Комбінування УмовКомбінування Умов

У булевій логіці є два фундаментальні оператори - OR та AND. Що вони собою представляють? Оператор OR перевіряє, чи виконується будь-яка з умов, і повертає значення True, якщо так, інакше повертає значення False. Оператор AND перевіряє, чи обидві умови є істинними, перш ніж повернути True. Якщо ні, то повертається значення False. У Python для об'єднання умов використовуються оператори and та or (завжди у нижньому регістрі). Наприклад:

  • умова1 and умова2 повертає значення True лише тоді, коли обидві умови мають значення True.
  • умова1 or умова2 дає True, якщо хоча б одна умова є True.

Примітка

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

Для ілюстрації розглянемо такі умови:

  1. 2 перевищує 1 та bbb не співпадає з aaa.
  2. Символ з індексом 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 вимагає, щоб хоча б одна з умов була правдивою, для того щоб весь вираз був правдивим.

Все було зрозуміло?

Секція 3. Розділ 3
course content

Зміст курсу

Вступ до Python

Вступ до Python

Комбінування УмовКомбінування Умов

У булевій логіці є два фундаментальні оператори - OR та AND. Що вони собою представляють? Оператор OR перевіряє, чи виконується будь-яка з умов, і повертає значення True, якщо так, інакше повертає значення False. Оператор AND перевіряє, чи обидві умови є істинними, перш ніж повернути True. Якщо ні, то повертається значення False. У Python для об'єднання умов використовуються оператори and та or (завжди у нижньому регістрі). Наприклад:

  • умова1 and умова2 повертає значення True лише тоді, коли обидві умови мають значення True.
  • умова1 or умова2 дає True, якщо хоча б одна умова є True.

Примітка

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

Для ілюстрації розглянемо такі умови:

  1. 2 перевищує 1 та bbb не співпадає з aaa.
  2. Символ з індексом 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 вимагає, щоб хоча б одна з умов була правдивою, для того щоб весь вираз був правдивим.

Все було зрозуміло?

Секція 3. Розділ 3
some-alt