Вы используете тип dict и отсортированы для списка, а не для dict.Чтобы отсортировать диктовку, вы должны использовать список и снова выполнить диктовку или просто использовать список для печати списка с наивысшим баллом.
score = {'Player1' : 9, 'Player2' : 6, 'Player3' : 7, 'Player4' : 8}
sorted_score = sorted(score.items(), key=lambda x: x[1], reverse=True)
for score in sorted_score:
print('{} : {}'.format(score[0], score[1]))
Это дает результат,
Player1 : 9
Player4 : 8
Player3 : 7
Player2 : 6
Вы можете адаптировать мой код, т.е.
with open("test.txt", "r") as file:
scores = []
for row in file.read().splitlines():
scores.append(row.split(' : '))
sorted_score = sorted(scores, key=lambda x: x[1], reverse=True)
for score in sorted_score:
print('{} : {}'.format(score[0], score[1]))