【发布时间】:2019-09-28 21:25:39
【问题描述】:
iPod Game Guesser - 排行榜功能
leaderboard = open("Score.txt", "a+")
score = str(score)
leaderboard.write(Username + ' : ' + score + '\n')
leaderboard.close()
leaderboard = open("Score.txt", "r")
Scorelist = leaderboard.readlines()
scores = {}
for row in Scorelist:
user, score = row.split(':')
scores[user] = int(score)
highest_ranking_users = sorted(scores, key=lambda x: scores[x], reverse=True)
for user in highest_ranking_users:
print (f'{user} : {score[user]}')
所以这是我为我的 GCSE OCR 项目完成的游戏,不知何故我的代码的最后一行出现错误。 \\print (f'{user} : {score[user]}')\\,它显示的错误如下:
TypeError:字符串索引必须是整数
请帮忙!任何 cmets 将不胜感激!
【问题讨论】:
-
播放器1:9播放器2:6播放器3:7播放器4:8
-
这是原始数据的样子(在 .txt 文件中)
-
您的意思是写
{scores[user]}而不是{score[user]}?请注意,您同时拥有score和scores作为变量名。 -
哦,我刚刚把 print (f'{user} : {score[user]}') 改成了:
-
print (f'{user} : {scores[user]}') 现在它可以工作了,看起来我在打字时犯了一个愚蠢的错误,非常感谢你发现它!
标签: python-3.x sorting