我正在创建一个游戏,我想打印出从最高到最低的用户平均得分 这是我目前为止的代码
player_scores = {}
for line in reversed(open("playerscores.txt").readlines()):
name, score = line.rstrip('\n').split(' / ')
score = int(score)
if name in player_scores and len(player_scores[name]) < 3:
player_scores[name].append(score)
if name not in user_scores:
player_scores[name] = list((score,))
姓名playerscores.txt存储方式如下:
^{pr2}$我的代码从用户那里获取最后3个分数(最后3个生命),并以此为基础。我需要打印的用户名连同最高的平均分数最低。在
词典无法排序。一旦你把分数加到字典里,你就需要再把它们从字典里拿出来分类。在
尝试类似于:
[(k,sum(v)/len(v)) for k,v in player_scores.items()]
部分是对字典进行迭代并生成(name, average score)
元组的理解。我们有一个元组列表而不是字典,我们可以按分数(元组的第二个元素)按降序对它们进行排序。在相关问题 更多 >
编程相关推荐