The error arises because you run subs.add(p1.first)
, which is a type str
. p1.first
does not have the method get_grade
. What you want to run is: subs.add(p1)
(the object which will have get_grade
). Also, you can remove the redundant parentheses when defining the classes. You can write class Subject():
as class Subject:
.
You can then change you add
code to:
def add(self, student):
if len(self.students) < self.number_students:
self.students.append(student.first) # changed here
return True
return False
CLICK HERE to find out more related problems solutions.