我是python的新手,我正在制作一个游戏,它需要从文本文件中读取信息,并将其提交到排行榜上,排行榜按从高到低的分数排序,每个分数旁边的人的名字。.txt文件如下所示:
鲍勃,100岁
猫,300
狗,80岁
鼠标,50
它也必须是面向对象的,因此任何帮助都将受到极大的感谢。:)
发布于 2019-11-13 06:18:09
您可以逐行读取文本文件,并将值放入元组列表中。忽略空行。使用string.split()将行拆分为两个值。
每个条目都是一个元组(,)。确保将分数从string转换为int。然后,您可以按分数对列表进行排序。
def load_data(file_name):
    result = []
    with open(file_name, 'r') as f:
        for line in f:
            values = line.strip().split(',')
            if len(values) == 2:
                name, score = values
                result.append((name, int(score)))
    return sorted(result, reverse=True, key=lambda x: x[1])要使其面向对象,只需将排行榜变成一个类,其中包含加载、更新数据、创建要显示的位图等方法。
https://stackoverflow.com/questions/58827332
复制相似问题