我有个问题:
scores = {}
with open('score.txt', 'r') as f:
for line in f:
name, score = line.strip().rsplit(' ', 1)
score = int(score)
if name in scores:scores[name] = scores[name] + score
else:scores[name] = score
sortedScoresByMax = max(scores.items(), key = lambda t: t[1])
print (sortedScoresByMax)
那个分数.txt包含多个带有分数的名称。现在程序只打印出得分最高的一个人。但如果有些名字有相同的分数,我需要程序打印出来所有的。我想我必须使用一个循环,但我不能让它工作。你知道吗
您可以找到最大值,然后打印所有具有该分数的玩家:
如果知道最大值,可以通过迭代
dict
对象scores
来获得它。你知道吗只需一次口述:
我不确定这是否是非常python,但我更喜欢它比首先确定最大值,然后过滤列表。你知道吗
相关问题 更多 >
编程相关推荐