我需要从一个外部文件排序,并排序他们从最大的数字,如50,安德鲁是最大的分数,然后0,安德鲁,但我一直无法做到这一点。
我曾尝试使用气泡排序和分裂后,逗号,以排序它从最大到最小,但我一直无法这样做,我坚持在这一部分,为我的学校项目,任何帮助将真正帮助我了。
该文件的格式为:
-10 , Kevin
10 , Andrew
100 , Antonio
等
score = 0
open("score.txt")
scorefile = open("score.txt", "r")
file_contents = scorefile.read()
leaderboard = file_contents.split(",")
leaderboard = file_contents.split("\n")
以上是我到目前为止得到的,但不知道该怎么做后,泡沫排序或其他东西时,数字可以从列表中未知。我的分数是从一个人玩的游戏生成,并添加到文件中,所以排行榜应该能够改变。
1条答案
按热度按时间0mkxixxg1#
.read()
函数将文件作为一个单独的字符串读取。这可能会使解析和排序变得困难。您可能需要考虑使用.readlines()
函数,它将每行作为列表的一个元素读取和存储。由于这是一个学校项目,我认为讨论整个解决方案是不合适的,但是,您应该能够修改下面的代码以满足您的需要。
然后,您可以将排序后的列表写入输出文件(注意"\n")。
如果您将其作为一个函数,则可以在更新文本文件时调用它,以确保正确排序。
祝你的项目好运!