and, or, notВ реальных программах часто нужно проверять не одно, а несколько условий одновременно: «если возраст больше 18 И паспорт есть», «если температура выше 25 ИЛИ влажность меньше 30», «если НЕ выходной день».
В этом уроке мы научимся комбинировать условия с помощью логических операторов and, or, not, разберёмся с приоритетом операций и скобками.
and, or, not.and — оба условия истинныОператор and возвращает True, только если оба условия истинны.
age = 20
has_passport = True
if age >= 18 and has_passport:
print("Можно выехать за границу")andTrue and True → TrueTrue and False → FalseFalse and True → FalseFalse and False → Falseor — хотя бы одно условие истинноОператор or возвращает True, если хотя бы одно условие истинно.
temperature = 30
humidity = 20
if temperature > 25 or humidity < 30:
print("Нужно включить кондиционер")orTrue or True → TrueTrue or False → TrueFalse or True → TrueFalse or False → Falsenot — инверсия условияОператор not инвертирует логическое значение: True становится False, и наоборот.
is_weekend = False
if not is_weekend:
print("Рабочий день")notnot True → Falsenot False → TrueЛогические операторы имеют разный приоритет:
not — выполняется первымand — выполняется вторымor — выполняется третьим# Без скобок: not → and → or
if not x > 5 and y > 10 or z < 0:
# Вычисляется как: ((not x > 5) and y > 10) or z < 0
passСкобки помогают явно указать порядок вычислений и сделать код понятнее.
x = 10
y = 5
z = -1
# Разные результаты в зависимости от скобок
if (x > 5 and y > 10) or z < 0:
print("Первое условие") # Выполнится: z < 0
if x > 5 and (y > 10 or z < 0):
printscore = 75
# С оператором and
if score >= 60 and score <= 100:
print("Оценка в допустимом диапазоне")
# С цепочкой сравнений (более читаемо)
if 60 <= score <= 100:
print("Оценка в допустимом диапазоне")number = 12
if number > 0 and number % 2 == 0 and number < 100:
print("Положительное чётное число меньше 100")Что выведет данный код?
a = 5
b = 10
c = 3
if a > b and b > c:
print("a > b > c")
elif a > b or b > c:
print("хотя бы одно условие истинно")
else:
print("оба условия ложны")Что выведет данный код?
x = 15
if x > 10 and x < 20:
print("x в диапазоне")
else:
print("x вне диапазона")Что выведет данный код?
age = 25
has_ticket = True
is_holiday = False
if age >= 18 and has_ticket and not is_holiday:
print("Можно посетить")
else:
print("Нельзя посетить")Что выведет данный код?
a = 5
b = 7
c = 3
if (a > b or b > c) and a > c:
print("Условие выполнено")
else:
print("Условие не выполнено")Дано целое число n. Проверь, что оно в диапазоне от 1 до 100 и чётное.
n = 42
if 1 <= n <= 100 and n % 2 == 0:
print("Число подходит")
else:
print("Число не подходит")На этом уроке мы научились комбинировать условия с помощью логических операторов and, or, not, разобрались с приоритетом операций и важностью скобок для читаемости кода.
and и or: используют and, когда нужно or, и наоборот — программа завершится ошибкой или даст неверный результат.not — логическое выражение даст неожиданный результат.if x > 5 and < 10 вместо if x > 5 and x < 10 — программа завершится ошибкой или даст неверный результат.Напиши программу, которая:
age (возраст).has_document ("yes" или "no")."Доступ разрешён"."Доступ запрещён".Напиши программу, которая:
n."in range"."out of range".Напиши программу, которая:
temperature и humidity."Включить кондиционер"."Кондиционер не нужен".Напиши программу, которая:
n."Число подходит"."Число не подходит".Напиши программу, которая:
day (день недели).is_holiday ("yes" или "no")."saturday" или "sunday" или это праздник, выводит "Выходной"."Рабочий день".Напиши программу, которая считывает три целых числа a, b, c и выводит "да", если ровно два из них положительные. Иначе — "нет".
Даны угол angle (0–360°) и радиус r. Определи, в какой четверти координатной плоскости находится сектор с центральным углом от 0° до angle:
"на оси"