from sanitize import sanitize #格式化数据 class Athlete: #创建一个类 def __init__ (self, a_name, a_dob=None, a_times=[]): #初始化参数 self.name = a_name self.dob = a_dob self.times = a_times def top3(self): #定义一个top3方法 return (sorted(set([sanitize(t) for t in self.times]))[0:3]) #调用get_coach_data函数返回一个Athlete类的对象 def get_coach_data(filename): try: with open(filename) as f: data = f.readline() templ = data.strip().split(',') return Athlete(templ.pop(0), templ.pop(0), templ) except IOError as ioerr: print('file error:' + str(ioerr)) return(None) #输出 james = get_coach_data('james2.txt') print(james.name + "'s fastest times are: " + str(james.top3())) julie2 = get_coach_data( 'julie2.txt' ) print(julie2.name + "'s fastest times are: " + str(julie2.top3())) sarah2 = get_coach_data( 'sarah2.txt' ) print(sarah2.name + "'s fastest times are: " + str(sarah2.top3())) mikey2 = get_coach_data( 'mikey2.txt' ) print(mikey2.name + "'s fastest times are: " + str(mikey2.top3()))