我使用python创建了一个排行榜,但我的代码只打印一行。我希望它能像排行榜格式一样单独打印每个元素
这是我的密码我使用python创建了一个排行榜,但我的代码只打印一行。我希望它能像排行榜格式一样单独打印每个元素,python,python-3.x,Python,Python 3.x,这是我的密码 file=open("leaderboard.txt", "a") file.write(str(winnerpts) + ", " + winneruser + "\n") file.close() with open('leaderboard.txt', 'r') as f: leaderboard = [line.replace('\n','') for line in f.readlines()] leaderboard.sort(reverse=True
file=open("leaderboard.txt", "a")
file.write(str(winnerpts) + ", " + winneruser + "\n")
file.close()
with open('leaderboard.txt', 'r') as f:
leaderboard = [line.replace('\n','') for line in f.readlines()]
leaderboard.sort(reverse=True)
for idx, item in enumerate(leaderboard):
if item.split(', ')[1] == winneruser[1] and int(item.split(', ')[1]) < int(winneruser[9]):
leaderboard[idx] = '{}, {}'.format(winneruser[1], winneruser[9])
else:
pass
with open('leaderboard.txt', 'w') as f:
for item in leaderboard:
f.write("%s\n" % item)
with open("leaderboard.txt") as leaderboard:
head = [next(leaderboard).split() for x in range(5)]
print(head)
我想让它打印如下内容:
['98,', 'ioi']
['90,', 'io']
['72,', 'io']
['72,', 'io']
['67,', 'ioi']
如果可能,方括号也可以删除吗?假设您有如下列表
元素:
elements = [['98,', 'ioi'], ['90,', 'io'], ['72,', 'io'], ['72,', 'io'], ['67,', 'ioi']]
你必须仔细检查你的清单才能取得结果
for element in elements:
print(element)
您将获得:
['98,', 'ioi']
['90,', 'io']
['72,', 'io']
['72,', 'io']
['67,', 'ioi']
更新
您的代码如下所示:
with open("leaderboard.txt") as leaderboard:
head = [next(leaderboard).split() for x in range(5)]
print(head)
你必须这样做:
with open("leaderboard.txt") as leaderboard:
head = [next(leaderboard).split() for x in range(5)]
for element in head:
print(element)
更新
输出
不要直接打印列表(标题),只需打印其元素即可
for i in range(len(head)):
print(head[i][0] + ' ' + head[i][1])
这会将列表(标题)打印为:
非常感谢。它工作得很好。他们是否认为方括号和引号可以在打印时删除?如果有效,你必须投票并接受我的答案。其他人可以从中受益。是的,删除方括号和引号是可能的……不过你会怎么做呢。对不起,我是一个比较新的编码员。我也这么做了,但因为我是新来的,我不认为投票实际上表明@RohanSharma的解决方案很酷。但我给你提供了一个非常好的…哇,这对我来说是一个巨大的帮助。非常感谢你们
with open("leaderboard.txt") as leaderboard:
head = [next(leaderboard).split() for x in range(5)]
for element in head:
info = element[0] + " " + element[1] # add this line
print(info)
98, ioi
90, io
72, io
72, io
67, ioi
for i in range(len(head)):
print(head[i][0] + ' ' + head[i][1])
98, ioi
90, io
72, io
72, io
67, ioi