def sanitize(time_string):
if '-' in time_string:
splitter = '-'
elif ':' in time_string:
splitter = ':'
else:
return(time_string)
(mins, secs) = time_string.split(splitter)
return(mins + '.' + secs)
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):
return(sorted(set([sanitize(t) for t in self.times]))[0:3])
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')
julie = get_coach_data('julie2.txt')
mikey = get_coach_data('mikey2.txt')
sarah = get_coach_data('sarah2.txt')
print(james.name+ "'s fastest times are: " + str(james.top3()))
print(julie.name+ "'s fastest times are: " + str(julie.top3()))
print(mikey.name+ "'s fastest times are: " + str(mikey.top3()))
print(sarah.name+ "'s fastest times are: " + str(sarah.top3()))
初学python,这段代码是照书抄在IDLE上的,运行的时候提示SyntaxError: invalid syntax,但是没有给出具体出错的地方,请大家帮忙看下是什么问题。谢谢。
if '-' in time_string:
splitter = '-'
elif ':' in time_string:
splitter = ':'
else:
return(time_string)
(mins, secs) = time_string.split(splitter)
return(mins + '.' + secs)
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):
return(sorted(set([sanitize(t) for t in self.times]))[0:3])
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')
julie = get_coach_data('julie2.txt')
mikey = get_coach_data('mikey2.txt')
sarah = get_coach_data('sarah2.txt')
print(james.name+ "'s fastest times are: " + str(james.top3()))
print(julie.name+ "'s fastest times are: " + str(julie.top3()))
print(mikey.name+ "'s fastest times are: " + str(mikey.top3()))
print(sarah.name+ "'s fastest times are: " + str(sarah.top3()))
初学python,这段代码是照书抄在IDLE上的,运行的时候提示SyntaxError: invalid syntax,但是没有给出具体出错的地方,请大家帮忙看下是什么问题。谢谢。
