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