首页 > 解决方案 > 为简单的文本游戏创建高分文件

问题描述

我正在尝试在 Python 3.1 中创建一个高分文件,该文件存储(已经声明的)用户名和分数。然后,我希望程序打印前 5 个分数和达到这些分数的用户。

目前,我正在使用两个文件 - highscores.txt 和 highuser.txt。我想要的是让代码在 highscores.txt 中找到最高整数值,获取它的数组并将其匹配到 highuser.txt 中的相同位置。

这是我当前的代码:

def highscores():
global score

highscores = open("highscores.txt", "a")
highscores.write(str(score))
highscores.write("\n")
print("done")

highscoreuser = open("highuser.txt", "a")
global username
highscoreuser.write(username)
highscoreuser.write("\n")
print("done")

此代码有效,但我不知道如何对文件进行排序。

标签: pythonpython-3.x

解决方案


这应该这样做

with open('highscores.txt','r') as infile:
    maxval = 0
    maxline = None
    i = 0
    for line in infile:
        if maxval<int(line):
            maxline = i
            maxval = int(line)
        i+=1
i = 0
with open('highuser.txt','r') as infile:
    for line in infile:
        if i == maxline:
            highuser = line.strip()
            break
        i+=1

推荐阅读