Задать вопрос

Как работает вариатор or в Python?

Добрый день.

Небольшой вопрос.

Почему вот это не работает:

elif int(step_id) == 3 or 4:

А вот это работает:

elif int(step_id) == 3 or int(step_id) == 4:
  • Вопрос задан
  • 208 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
Avernial
@Avernial
Разрабатываю научное ПО на языке Python.
Первый вариант не корректен с точки зрения логических операции. И у вас всегда будет True.
Например step_id = 2:
  • 2 == 3 -> False
  • False or 4 -> 4
  • bool(4) -> True
  • Результат: True


Например step_id = 3:
  • 3 == 3 -> True
  • True or 4 -> True
  • Результат: True


Например step_id = 6:
  • 6 == 3 -> False
  • False or 4 -> 4
  • bool(4) -> True
  • Результат: True


А второй вариант правильный.
Например step_id = 2:
  • 2 == 3 -> False
  • 2 == 4 -> False
  • False or False
  • Результат: False


Например step_id = 3:
  • 3 == 3 -> True
  • 3 == 4 -> False
  • True or False -> True
  • Результат: True


Для того чтобы понимать как происходит выполнение вам нужно прочитать про приоритет выполнения.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы