Перейти к основному содержимому

Логические операторы Python

Для объединения условных выражений в Python есть три логических оператора:

  • and — True, только когда оба выражения истинны
  • or — True, когда хотя бы одно выражение истинно
  • not — обращает результат: истина становится False, а ложь становится True

Оператор and

Оператор and объединяет два условия и требует, чтобы выполнялись оба. Если хотя бы одно не выполняется, всё выражение равно False.

Пример

Проверка, что a больше b И c больше a:
Prompt
Напишите программу на Python, которая с помощью оператора and проверяет, больше ли a, чем b, И больше ли c, чем a.
Вывод: полная программа на Python

Оператор or

Оператор or тоже объединяет два условия, но удовлетворить его проще. Чтобы всё выражение было True, достаточно одного истинного условия.

Пример

Проверка, больше ли a, чем b, ИЛИ больше, чем c:
Prompt
Напишите программу на Python, которая с помощью оператора or проверяет, больше ли a, чем b, ИЛИ больше ли a, чем c.
Вывод: полная программа на Python

Оператор not

Оператор not работает с одним условием и превращает его результат в противоположный.

Пример

Проверка, что a НЕ больше b:
Prompt
Напишите программу на Python, которая с помощью оператора not проверяет, что a НЕ больше, чем b.
Вывод: полная программа на Python

Объединение нескольких операторов

Одно выражение может содержать несколько логических операторов. Python обрабатывает их в постоянном порядке: сначала not, затем and и в конце or.

Пример

Совместное использование and, or и not:
Prompt
Напишите программу на Python, которая объединяет операторы and, or и not, чтобы проверить, действует ли скидка, в зависимости от возраста, статуса студента и кода скидки.
Вывод: полная программа на Python

Таблицы истинности

Эти таблицы показывают результат каждого оператора для каждой пары значений:

Таблица истинности оператора and

Условие 1Условие 2Результат
TrueTrueTrue
TrueFalseFalse
FalseTrueFalse
FalseFalseFalse

Таблица истинности оператора or

Условие 1Условие 2Результат
TrueTrueTrue
TrueFalseTrue
FalseTrueTrue
FalseFalseFalse

Скобки для ясности

Когда в выражении сочетается несколько логических операторов, скобки показывают, что вы имеете в виду, и определяют, что вычисляется первым.

Пример

Скобки в более длинном условии:
Prompt
Напишите программу на Python, которая использует скобки с логическими операторами, чтобы проверить погоду и выходной день для занятий на свежем воздухе.
Вывод: полная программа на Python

Другие примеры

Пример

Проверка данных для входа:
Prompt
Напишите программу на Python, которая с помощью логических операторов проверяет имя пользователя, пароль и статус подтверждения и выводит результат входа.
Вывод: полная программа на Python

Пример

Проверка, что результат попадает в диапазон:
Prompt
Напишите программу на Python, которая с помощью оператора and проверяет, находится ли оценка в допустимом диапазоне (0-100).
Вывод: полная программа на Python