Логические операторы Python
Для объединения условных выражений в Python есть три логических оператора:
and— True, только когда оба выражения истинныor— True, когда хотя бы одно выражение истинноnot— обращает результат: истина становится False, а ложь становится True
Оператор and
Оператор and объединяет два условия и требует, чтобы выполнялись оба. Если хотя бы одно не выполняется, всё выражение равно False.
Пример
a больше b И c больше a:and проверяет, больше ли a, чем b, И больше ли c, чем a.
Вывод: полная программа на Python
a = 200
b = 33
c = 500
if a > b and c > a:
print("Оба условия истинны (True)")
Оператор or
Оператор or тоже объединяет два условия, но удовлетворить его проще. Чтобы всё выражение было True, достаточно одного истинного условия.
Пример
a, чем b, ИЛИ больше, чем c:or проверяет, больше ли a, чем b, ИЛИ больше ли a, чем c.
Вывод: полная программа на Python
a = 200
b = 33
c = 500
if a > b or a > c:
print("Хотя бы одно из условий истинно (True)")
Оператор not
Оператор not работает с одним условием и превращает его результат в противоположный.
Пример
a НЕ больше b:not проверяет, что a НЕ больше, чем b.
Вывод: полная программа на Python
a = 33
b = 200
if not a > b:
print("a НЕ больше, чем b")
Объединение нескольких операторов
Одно выражение может содержать несколько логических операторов. Python обрабатывает их в постоянном порядке: сначала not, затем and и в конце or.
Пример
and, or и not:and, or и not, чтобы проверить, действует ли скидка, в зависимости от возраста, статуса студента и кода скидки.
Вывод: полная программа на Python
age = 25
is_student = False
has_discount_code = True
if (age < 18 or age > 65) and not is_student or has_discount_code:
print("Скидка действует!")
Таблицы истинности
Эти таблицы показывают результат каждого оператора для каждой пары значений:
Таблица истинности оператора and
| Условие 1 | Условие 2 | Результат |
|---|---|---|
| True | True | True |
| True | False | False |
| False | True | False |
| False | False | False |
Таблица истинности оператора or
| Условие 1 | Условие 2 | Результат |
|---|---|---|
| True | True | True |
| True | False | True |
| False | True | True |
| False | False | False |
Скобки для ясности
Когда в выражении сочетается несколько логических операторов, скобки показывают, что вы имеете в виду, и определяют, что вычисляется первым.
Пример
Вывод: полная программа на Python
temperature = 25
is_raining = False
is_weekend = True
if (temperature > 20 and not is_raining) or is_weekend:
print("Отличный день для занятий на свежем воздухе!")
Другие примеры
Пример
Вывод: полная программа на Python
username = "Tobias"
password = "secret123"
is_verified = True
if username and password and is_verified:
print("Вход выполнен успешно")
else:
print("Не удалось войти")
Пример
and проверяет, находится ли оценка в допустимом диапазоне (0-100).
Вывод: полная программа на Python
score = 85
if score >= 0 and score <= 100:
print("Допустимая оценка")
else:
print("Недопустимая оценка")