Не понимаю почему не отсортировывает с ключом х**2-2*х

В задаче нужно сделать, чтобы вводили список, и на выходе получали отсортированный список по убыванию с ключом х**2-2*х.

Мой код, который не отсортировывает правильно:

n=int(input())
X=[]
for i in range(0,n):
    a=int(input())
    X.append(a)

def sort(x):
    return (x**2-2*x)

sorted_X=sorted(X, key=sort)
Y=map(str,sorted_X)
Z=" ".join(Y)
print(Z)

Числа для ввода: 5 0 10 4 7 -5

В выводе должно быть: 10, 7, -5, 4, 0

У меня выводит: -5, 7, 4, 10, 0


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

Автор решения: Максим Макаров

Нашел ошибку, исправил в коде в загруженном, в строке после sorted в значение Y написал Y=map(str,X)

→ Ссылка
Автор решения: MBo

Меняем знак ключа, чтобы было по убыванию:

sorted_X=sorted(X, key=lambda x: -x**2+2*x) 
print(sorted_X)

>>>[10, 7, -5, 4, 0]
→ Ссылка
Автор решения: CrazyElf

У функции sorted есть специальный ключ reverse, который можно выставить в True, чтобы сортировать в убывающем порядке.

sorted_X = sorted(X, key=sort, reverse=True)
→ Ссылка