У меня есть игра, в которой есть оценки, и я хочу сохранить их в текстовый файл в порядке топ 5 - PullRequest
1 голос
/ 27 сентября 2019

Я хочу сохранить свои оценки в текстовом файле, но показывать только лучшие 5 баллов, поэтому допустим, что в моем текстовом файле у меня есть 23,20,16,15,10, и я получаю оценку 13, она заменит 10с 13, так что у меня будет 23,20,16,15,13.

Я пытался сделать это, но я не могу найти способ сохранить результаты предыдущей игры, поэтому я просто продолжаю удалять все и заменять егос новыми баллами. Это действительно раздражает

scores = [(name1, score1), (name2, score2)]

with open('scores.txt', 'w') as f:

    for username, score in scores:

        f.write('Username: {0}, Score: {1}\n'.format(username, score))

1 Ответ

0 голосов
/ 27 сентября 2019

Сначала вы записываете все свои результаты в текстовый файл.(Используйте a для режима добавления и + для чтения и чтения)

with open('scores.txt', 'a+') as file:
  for score in scores:
    file.write(f'{score}\n')

Затем получите свои баллы

with open('scores.txt') as file:
  scores = [int(i) for i in file.readlines()]
  top_five = sorted(scores, reverse=True)[:5]

top_five получит пять лучших баллов

...