我有一个计算分数“ LevelScore”的程序,我想打开UserFile“ UserScoreFile”并对照文件中保存的当前用户分数,如果LevelScore> CurrentScore覆盖了表示该分数的文本,则覆盖文本文件到LevelScore。

文本文件中的每一行代表0-7的级别,每行格式为“ T 000”,T代表级别是否已解锁,000代表当前分数(分数可以是0-100)“ lev”是从0到7的变量,指示用户所在的级别。

UserFileR = open("UserScoreFile.txt","r")
    UserFileLines = UserFileR.readlines()
    UserLevelLine = UserFileLines[lev]
    UserLevelScore = UserLevelLine[2:5]

 if LevelScore > UserLevelScore:
    UserFileWR = open("UserScoreFile.txt","r+")
    #This is where i dont know what to do...

最佳答案

这是我和Luke共同提出的解决方案:

UserFileRW = open("UserScoreFile.txt","r+")
UserFileLines = UserFileRW.readlines()
UserLevelLine = UserFileLines[lev]
UserLevelScore = int(UserLevelLine[2:])
UserFileRW.close()

if LevelScore > UserLevelScore:
    UserFileWR = open("UserScoreFile.txt","w+")
    UserFileLines[lev] = "T " + str(LevelScore) + "\n"
    UserFileRW.writelines(UserFileLines)
    UserFileRW.close()


感谢Jotto和Tim Pietzcker的贡献。

09-05 16:42