📝 Python

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

P
Автор
PyLand Team
📅
Опубликовано
30.03.2026
⏱️
Время чтения
2 мин
👁️
Просмотров
388
🌱
Уровень
Начальный

Одно условие — хорошо. Но что если нужно проверить несколько условий сразу?

  • Пустят на аттракцион: возраст >= 10 AND рост >= 140
  • Выходной: суббота OR воскресенье
  • Вход запрещён: NOT авторизован

Логические операторы позволяют объединять условия.


AND — все условия должны быть True

if условие1 and условие2:
    # выполнится только если ОБА True
age = 17
has_license = True

if age >= 16 and has_license:
    print("Можешь водить скутер!")
else:
    print("Пока нельзя")
# Вывод: Можешь водить скутер!

Таблица истинности AND:

True  and True   → True    # только этот случай даёт True
True  and False  → False
False and True   → False
False and False  → False

Правило: хотя бы один False → результат False.


OR — достаточно одного True

if условие1 or условие2:
    # выполнится если ХОТЯ БЫ ОДНО True
day = "суббота"

if day == "суббота" or day == "воскресенье":
    print("Выходной!")
else:
    print("Будний день")
# Вывод: Выходной!

Таблица истинности OR:

True  or True   → True
True  or False  → True     # любой True → результат True
False or True   → True
False or False  → False    # только оба False → результат False

Правило: хотя бы один True → результат True.


NOT — инверсия

if not условие:
    # выполнится если условие False
is_raining = False

if not is_raining:
    print("Можно гулять!")
else:
    print("Останься дома")
# Вывод: Можно гулять!
not True  → False
not False → True

Приоритет операций

При смешивании операторов порядок выполнения:

  1. not (первый)
  2. and (второй)
  3. or (третий)
x = True
y = False
z = True

result = not x and y or z
# Шаг 1: not x   → False
# Шаг 2: False and y → False
# Шаг 3: False or z  → True
print(result)  # True

Используй скобки для ясности:

result = ((not x) and y) or z  # Явно и понятно

Комбинирование операторов

age = int(input("Возраст: "))
height = int(input("Рост (см): "))

# Пустят если: (возраст >= 10 И рост >= 140) ИЛИ возраст >= 16
if (age >= 10 and height >= 140) or age >= 16:
    print("Проходи!")
else:
    print("К сожалению, нельзя")

Разбор случаев:
- Возраст 12, рост 145: (True and True) or False → True — пускают
- Возраст 9, рост 145: (False and True) or False → False — нет
- Возраст 17, рост 130: (True and False) or True → True — пускают


Практические примеры

Проверка пароля

password = input("Пароль: ")
length_ok = len(password) >= 8
has_digit = any(char.isdigit() for char in password)

if length_ok and has_digit:
    print("Пароль надёжный")
else:
    if not length_ok:
        print("Пароль слишком короткий (нужно >= 8 символов)")
    if not has_digit:
        print("Пароль должен содержать цифру")

Определение сезона

month = int(input("Месяц (1-12): "))

if month == 12 or month == 1 or month == 2:
    season = "Зима"
elif month >= 3 and month <= 5:
    season = "Весна"
elif month >= 6 and month <= 8:
    season = "Лето"
elif month >= 9 and month <= 11:
    season = "Осень"
else:
    season = "Некорректный месяц"

print(season)

Частая ошибка: пропуск имени переменной

# ❌ НЕПРАВИЛЬНО — синтаксическая ошибка
if age >= 10 and >= 18:
    print("OK")

# ✅ ПРАВИЛЬНО
if age >= 10 and age <= 18:
    print("OK")

# ✅ Ещё лучше — Python поддерживает цепочки сравнений
if 10 <= age <= 18:
    print("OK")

Ваша реакция на статью

💬 Комментарии (0)

🔐 Войдите в систему, чтобы оставить комментарий
🚪 Войти
💭

Комментариев пока нет

Станьте первым, кто поделится мнением об этой статье!

🔗 Похожие

Похожие статьи

Продолжите изучение с этими материалами

📝

Математические операции в Python 🧮

Python - отличный калькулятор! Разберём все математические операторы с примерами.

📅 30.03.2026 👁️ 417
📝

if __name__ == "__main__": точка входа Python

Конструкция if name == "main" определяет точку входа Python-программы: она помогает отличить прямой запуск файла...

📅 14.08.2026 👁️ 44
📝

strip() и lower(): подготавливаем пользовательски…

Пользователь может ввести правильное слово с лишними пробелами или буквами другого регистра. Для Python строки...

📅 11.08.2026 👁️ 50
🎓 Продолжить обучение

В каких курсах используется этот материал

Перейдите к курсу, чтобы закрепить материал на практике.

Python с нуля: 7 практических проектов Открыть программу курса