Я создаю игру в кости в скорлупе с орехами, и результаты сохраняются во внешнем файле с именем 'scores'
Krystian: 5
Adam: 7
Unknown: 2
AWD: 18
Muaadh: 5
Yasir: 6
Zaim: 7
Ishfaq: 5
Tanzeel: 87
Hamzah: 3
Mohammed: 5
Robert: 6
Yasir: 5
Krystian: 61
Natalie: 72
, и это имена пользователей и их оценки.Я видел некоторые алгоритмы сортировки CSV, но проблема в том, что я только начинающий, и я понятия не имею, как они работают, поэтому я не могу их использовать.Что я действительно ищу, так это объяснение того, как отсортировать их от наивысшего балла до наименьшего, и я хочу, чтобы программа распечатала 5 лучших игроков.
with open('scores.txt', newline='') as f:
data = [{k: v for k, v in row.items()} for row in csv.DictReader(f, delimiter=':', fieldnames=['name', 'score'], quoting=csv.QUOTE_NONE)]
sorted_data = sorted(data, key = lambda i: i['score'], reverse=True)
for x in sorted_data:
print (x['name'] + ': ' + x['score'])
пока это все, что у меня естьудалось "скопировать" из других постов, но это все еще не работает должным образом.Я думаю, что стоит поделиться тем, что когда вы запускаете программу, она спрашивает у пользователя его имя, затем она получает свой счет, затем сохраняет в файл, и в самом конце я спрашиваю пользователя, хотят ли они увидеть 5 лучших игроков.Вот где я хочу, чтобы моя программа сортировала внешний файл и выводила на печать 5 лучших игроков.Я приношу свои извинения, поскольку видел много подобных сообщений, но единственная причина, по которой я публикую это сам, состоит в том, что я действительно не понимаю ни одного из них.Спасибо, что сделали это так далеко.