我是python的新手,正在开发一款游戏,该游戏需要从文本文件中读取信息,然后将其放到排行榜中,该排行榜按得分的高低排列,每个分数旁边都有人的名字。 .txt文件如下所示:
bob,100
cat,300
dog,80
鼠标,50
它也必须是面向对象的,因此任何帮助将不胜感激。 :)
答案 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,只需将您的排行榜变成一个类,该类具有加载,更新数据,创建要显示的位图等的方法。