Ошибка в тернарном операторе на python

Среда пишет, что ожидается окончание выражения. Объясните, пожалуйста, почему так нельзя?

while a != b:
    
       a -= b if a > b else b -= a

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

Автор решения: magistar

Два разных присваивания в такой конструкции быть не может. Можно только так:

a = a - b if a > b else b - a

То есть присваиваем переменной или одно, или другое. Ваше выражение можно записать в две строки:

a = a - b if a > b else a
b = b - a if b > a else b
→ Ссылка
Автор решения: SergFSM

одновременно два присваивания можно сделать так:

a,b = (a-b,b) if a>b else (a,b-a)
→ Ссылка