ex exxam.ruPython с нуляШаг 9.5 · Логические операторы
51 / 62На главную
шаг 9.5 · логика

Оператор not

not переворачивает логическое значение: True становится False и наоборот.

Оператор not ставится перед выражением и меняет его значение на противоположное. Если условие истинно, not даёт False, и наоборот.

print(not True) print(not (1 > 2))

Если после not стоит цепочка из нескольких условий, её нужно взять в скобки — иначе not отнесётся только к первому. not (a or b) означает «ни a, ни b».

Функция ниже отвечает, работает ли магазин. Известно, когда он закрыт: в выходной или в праздник. Значит, открыт он ровно в остальных случаях.

  1. Собери внутри скобок условие «выходной или праздник».
  2. Поставь not перед скобками.
  3. Верни результат и проверь три вызова.
Чтобы шаг был засчитан, нажмите «Проверить». «Выполнить» только показывает результат в консоли, но не завершает шаг.

Отлично! В обычный день магазин открыт, а в выходной и в праздник — закрыт. not перевернул условие «выходной или праздник».

Требования

is_open(is_weekend, is_holiday) возвращает True в обычный день и False, если сегодня выходной или праздник. Вывод: False, True, False — по строке на каждый вызов.

Проверка

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

Если интересно

У not есть близкий родственник — оператор !=. Запись x != 5 читается как «x не равен пяти» и работает так же, как not (x == 5). Для простых сравнений обычно берут !=, а not — для целых условий.

Подсказки Открываются по одной
живая сессия
Консоль общая сессия
Python 3.14 · переменные сохраняются между командами
>>>
Готовлю консоль…
консоль Живая сессия Python