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

Комбинируем and и or

and связывает крепче, чем or: чтобы не путаться, расставляй скобки явно.

В одном выражении можно соединить and и or. Важно помнить: and выполняется раньше, чем or, как умножение раньше сложения.

print(True or False and False) # True print((True or False) and False) # False

В первом примере сначала считается False and False, а потом or. Скобки меняют порядок и результат. Поэтому в сложном правиле лучше расставлять их самому — код станет понятнее.

  1. Собери внутри функции правило входа из трёх аргументов.
  2. Оберни в скобки связку «есть билет и возраст не меньше 12».
  3. Добавь or is_guest и проверь три вызова.
Чтобы шаг был засчитан, нажмите «Проверить». «Выполнить» только показывает результат в консоли, но не завершает шаг.

Отлично! Гость без билета проходит, ребёнок с билетом — нет. Скобки сделали правило однозначным.

Требования

can_enter(has_ticket, age, is_guest) возвращает True, если есть билет и возраст не меньше 12, или если человек гость. Остальным — False. Вывод: True, True, False — по строке на каждый вызов.

Проверка

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

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