Я пытался изучить Python с помощью этой книги, однако, похоже, я застрял на этой задаче.
«2. Улучшить игру Trivia Challenge, чтобы она сохраняла список рекордов в файле. Программа должна записывать имя игрока и баллы, если игрок попадет в список. Сохраняйте рекорды с помощью маринованного предмета».
Я решил использовать списки вместо словарей, потому что не думаю, что смогу сортировать словарные баллы. Однако, чтобы обновить версию словаря в соответствии с вашим вопросом, при загрузке словаря укажите другую переменную, а затем добавьте эту переменную к оригиналу.
Так что это будет примерно так:
Сначала я создал пустой список для хранения словаря.
high_scores = []
Затем запустите отдельную программу для обновления результатов.
new_score = {score: player}
f = open("high_Scores.txt", "rb")
score_list = high_scores
f.close()
score_list.append(new_score)
score_list = score_list[:10]
f = open("high_scores.txt", "wb")
pickle.dump(score_list, f)
f.close()
Это содержит только 10 баллов и обновит словарь. Я не понял, как сортировать баллы, и, прочитав, я не думаю, что это возможно сделать на этом этапе книги. Я думал о переходе на списки или что-то в этом роде. Я действительно не работал над этим, поэтому я не уверен на данный момент. если разберешься дай знать.
1 ответ
Я не хочу делать все это за вас, но вот несколько советов:
Нет необходимости в словаре, словари неупорядочены. Используйте отсортированный список из двух кортежей: high_scores = [(score1, name1), (score2, name2), ...]
. Отсортируйте список в обратном порядке: high_scores.sort(reverse=True)
. Используйте методы list
append
и pop
для добавления новых записей и удаления записей, которые больше не входят в первую десятку.
Похожие вопросы
Новые вопросы
python
Python — это мультипарадигмальный многоцелевой язык программирования с динамической типизацией. Он предназначен для быстрого изучения, понимания и использования, а также обеспечивает чистый и унифицированный синтаксис. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Если у вас есть вопросы о версии Python, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas, NumPy) укажите это в тегах.