В чем разница между краткой и полной записью выражения if-else?

Не могу понять почему интерпретатор выдает ошибку при краткой записи if-else, а в полной нет? Подскажите в чем ошибка написания краткой записи?

rate = 5

if rate == 5: 
  rate += 2 
else: 
  rate += 0
print(rate)

rate += 2 if rate == 5 else rate += 0 
print(rate)

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

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

Правильно так:

rate += 2 if rate == 5 else 0

Смысл короткой формы - вернуть один из двух результатов в зависимости от условия:

<результат_если_истина> if <проверка_на_истину> else <результат_если_ложь>

Две формы if не взаимозаменяемы, они всё же разные.

→ Ссылка