0

我正在为我在 Python 3 中制作的游戏制作一个简单的排行榜。下面是我的问题的简化:

我有 2 个列表:

names = []
scores = []

我的代码向用户询问他们的姓名,该姓名已添加到姓名列表中。在别处计算的分数被添加到分数列表中。然后我有:

leaderboardList = sorted(zip(scores, names), reverse=True)[:3]
for item in leaderboardList:
    print(item[1],":",item[0])

它组合、排序和打印前三个名称和分数。

例如,如果我有:

names =["A","B","C","D"]
scores = [1,2,3,4]

我会得到:

D : 4
C : 3
B : 2

我在这里的问题是将名称和分数保留在列表中。当游戏开始时,我想让它工作,这样一个人可以玩游戏,然后另一个人可以玩,两个人的分数都会出现在排行榜上。

目前,排行榜仅显示刚刚添加其姓名的人。这是因为我在游戏开始之前将名称和分数列表定义为空列表,但如果我不这样做,我会得到一个错误,正如预期的那样。

本质上,我希望每次程序停止和启动时都不会清除名称和分数列表,以便排行榜让每个人都保持在上面。我对泡菜功能做了一些研究,但我认为这不是解决方案,我被困住了。

4

0 回答 0