我一直在尝试使用本书学习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个分数并将更新字典。我还没弄清楚如何排序 分数和阅读我不认为这本书可以做到这一点。 我正在考虑切换到列表或其他东西。我还没有真正开展过工作,所以我现在还不确定。如果你搞清楚了,请告诉我。
答案 0 :(得分:0)
我不想为你做这一切,但这里有一些提示:
不需要字典,字典是无序的。使用2元组的排序列表:high_scores = [(score1, name1), (score2, name2), ...]
。按相反顺序对列表进行排序:high_scores.sort(reverse=True)
。使用list
append
和pop
方法添加新条目并删除不再排在前十名的条目。