Почему несколько вложенных тернарных операторов в Питоне дают каждый раз разный вывод???

Есть вот такие вот значения и вот такое вот выражение:
a, b, c, d = 0, 1, 2, 3
a = b if a > b else c if b > c else d if c > d else 4;   print(a)

Если я не совсем идиот, то a должна быть равна 4. Всегда. Почему a попеременно равняется то 1 то 4??! Я уже всю голову изломал, не понимаю почему так происходит
P.S.: Python 3.2.3, пишу прямо в консоли(стандартная, не IPython)
  • Вопрос задан
  • 2517 просмотров
Решения вопроса 1
@Heafy
Ну так Вы этим действием присваиваете переменной а значение 4
При очередной попытке уже сраниваете
a = 1 if 4 > 1 ...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
zelsky
@zelsky
Руки бьі поотрьівать за такой код. Имхо.
Ответ написан
Ваш ответ на вопрос

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

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