如何在python中使用OOP从文本文件创建排行榜?

时间:2019-11-12 22:00:45

标签: python sorting oop pygame leaderboard

我是python的新手,正在开发一款游戏,该游戏需要从文本文件中读取信息,然后将其放到排行榜中,该排行榜按得分的高低排列,每个分数旁边都有人的名字。 .txt文件如下所示:

bob,100

cat,300

dog,80

鼠标,50

它也必须是面向对象的,因此任何帮助将不胜感激。 :)

1 个答案:

答案 0 :(得分:0)

您可以逐行读取文本文件并将其值放入元组列表中。忽略空行。使用string.split()将行分为两个值。

每个条目都是一个元组(,)。确保将分数从字符串转换为整数。然后,您可以按分数对列表进行排序。

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])

要使其成为OOP,只需将您的排行榜变成一个类,该类具有加载,更新数据,创建要显示的位图等的方法。