Несколько тернарных операторов в выражении

x = (1 if True else 2
     + 3 if True else 4
     + 5 if False else 6)
print(x)

Выводит 1. Можно ли подобным синтаксисом получить 10 без нескольких statement-ов?


Ответы (1 шт):

Автор решения: Эникейщик

Да, можно. Нужно расставить скобки:

x = ((1 if True else 2)
     + (3 if True else 4)
     + (5 if False else 6))
→ Ссылка