Reputation: 10830
I have this code from a tutorial:
#File called test
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)
def get_coach_data(filename):
with open(filename) as f:
data = f.readline()
temp1 = data.strip().split(',')
return(Athlete(temp1.pop(0), temp1.pop(0), temp1)
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(juliename+"'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()))
and I put this class separately because I thought it may have been causing the error:
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])
The traceback points to a SyntaxError
at line 20 (james = get_coach_data('james2.txt')
)
What is wrong?
Upvotes: -2
Views: 557
Reputation: 74645
The errors that I can see are:
return(Athlete(temp1.pop(0), temp1.pop(0), temp1)
in get_coach_data
should just be
return Athlete(temp1.pop(0), temp1.pop(0), temp1)
on line 17
juliename
should be julie.name
on line 26
Upvotes: 2