Найти в Дзене

Урок 27. Логические операторы and, or, not в Python

Когда программа начинает принимать решения не по одному условию, а сразу по нескольким, на помощь приходит логика Python. Это уже не просто сравнение чисел — это настоящая алгебра логики Python, где условия можно объединять, отрицать и комбинировать. В этом уроке разберём, как работают логические операторы в Python: and, or, not. Логические операторы работают со значениями True и False. Возвращает True, если оба условия истинны. a = 10
print(a > 5 and a < 20) Результат: True Потому что 10 больше 5 и меньше 20. Возвращает True, если хотя бы одно условие истинно. a = 3
print(a > 5 or a < 10) Результат: True Первое условие ложное (3 не больше 5),
но второе истинное (3 меньше 10).
Достаточно одного — результат True. Меняет значение на противоположное. a = 5
print(not a > 3) a > 3 → True
not True → False Самое интересное начинается, когда условия объединяются. age = 15
has_ticket = True
print(age >= 12 and has_ticket) Результат будет True, потому что оба условия выполняются. Пайти нашёл
Оглавление

Когда программа начинает принимать решения не по одному условию, а сразу по нескольким, на помощь приходит логика Python. Это уже не просто сравнение чисел — это настоящая алгебра логики Python, где условия можно объединять, отрицать и комбинировать.

В этом уроке разберём, как работают логические операторы в Python: and, or, not.

1. Что такое логические операторы

Логические операторы работают со значениями True и False.

🔹 and — И

Возвращает True, если оба условия истинны.

a = 10
print(a > 5 and a < 20)

Результат:

True

Потому что 10 больше 5 и меньше 20.

🔹 or — ИЛИ

Возвращает True, если хотя бы одно условие истинно.

a = 3
print(a > 5 or a < 10)

Результат:

True

Первое условие ложное (3 не больше 5),

но второе истинное (3 меньше 10).

Достаточно одного — результат True.

🔹 not — НЕ

Меняет значение на противоположное.

a = 5
print(not a > 3)

a > 3 → True

not True → False

2. Как это работает вместе

Самое интересное начинается, когда условия объединяются.

age = 15
has_ticket = True

print(age >= 12 and has_ticket)

Результат будет True, потому что оба условия выполняются.

🎮 Пример: Игра «Секретная дверь Пайти»

Пайти нашёл древнюю дверь.

Чтобы её открыть, нужно выполнить несколько условий:

  • Иметь ключ
  • Знать пароль
  • Не быть в режиме тревоги

Давайте напишем программу.

print("=== Секретная дверь Пайти ===")

has_key = input("У вас есть ключ? (да/нет): ") == "да"
knows_password = input("Вы знаете пароль? (да/нет): ") == "да"
alarm_on = input("Включена тревога? (да/нет): ") == "да"

if has_key and knows_password and not alarm_on:
print("Дверь открывается! Добро пожаловать!")
elif has_key and not knows_password:
print("Ключ есть, но пароль неверный.")
elif not has_key and knows_password:
print("Вы знаете пароль, но у вас нет ключа.")
elif alarm_on:
print("Сработала тревога! Дверь заблокирована.")
else:
print("Дверь остаётся закрытой.")
-2

🔍 Что здесь происходит?

✔ and

Дверь откроется только если всё выполнено одновременно:

  • есть ключ
  • есть пароль
  • тревога выключена

✔ or

Можно усложнить игру. Например:

if has_key and (knows_password or not alarm_on):
print("Есть шанс попасть внутрь!")

Здесь условие гибче:

если есть ключ
и (либо пароль, либо нет тревоги).

✔ not

Используется для отрицания:

if not has_key:
print("Без ключа вход невозможен.")

🧠 Почему это важно?

Логические операторы позволяют:

  • Проверять сразу несколько условий
  • Создавать сложные сценарии
  • Делать программы «умными»
  • Строить полноценные игры

Без and, or, not невозможно создать:

  • авторизацию пользователя
  • систему доступа
  • проверку сложных правил
  • игровые механики

📌 Краткое правило

-3

Итог

Логические операторы в Python — это инструмент для принятия сложных решений.

Если операторы сравнения отвечают на вопрос «больше или меньше»,

то логика Python отвечает на вопрос:

«А что будет, если одновременно выполнится несколько условий?»

Именно здесь начинается настоящая программная логика — строгая, понятная и очень мощная.