[英]Top five names with score
我在学校有一个编程挑战,我制作一个游戏,最后,它打印了有史以来的前五个分数。 我已经能够得到它打印前五个分数,但我不知道如何使用用户名沿着它打印分数。 代码是:
with open("login.csv") as f:
print(" ")
print(" ")
print("Usernames and scores:")
reader=csv.reader(f)
scores=(row[-1] for row in reader)
topscore=sorted(scores, reverse=True)
top5=topscore[:5]
print(top5)
我得到的输出是:
Usernames and scores:
['82', '80', '66', '64', '62']
我想要的输出是:
Usernames and scores:
Dylan, 82
f, 80
Farai, 66
Dylan, 64
Dylan, 62
任何帮助迪伦
我错过了这个,但列名称,密码,分数。 很抱歉错过那些人。
您可以使用允许排序基于最后一列的键函数对行进行排序:
with open("login.csv") as f:
print(" ")
print(" ")
print("Usernames and scores:")
reader=csv.reader(f)
topscore=sorted(reader, key=lambda row: int(row[-1]), reverse=True)
top5=topscore[:5]
print('\n'.join(', '.join((username, score)) for username, _, score in top5))
看来你只是通过列表理解来选择得分。 假设CSV类似于<username>,<score>,可能以下内容有效吗?
with open("login.csv") as f:
print(" ")
print(" ")
print("Usernames and scores:")
reader=csv.reader(f)
scores=(row for row in reader)
topscore=sorted(scores, reverse=True)
for score in topscores:
print(score[0] +",\t" + score[1])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.