Can anyone help me out with my code below, I don’t get what’s going wrong despite using “grade.score” to append “self.grades”:
class Student:
def __init__(self, name, year):
self.name = name
self.year = year
self.grades = []
def add_grade(self, grade):
if type(grade) == Grade:
self.grades.append(grade.score)
def get_average(self):
return sum(self.grades) / len(self.grades)
class Grade:
def __init__(self, score):
self.score = score
pieter = Student("Pieter Bruegel the Elder", 8)
pieter.add_grade(Grade(100))
pieter.add_grade(Grade(70))
print(pieter.get_average)
print(pieter.grades)
print(sum(pieter.grades) / len(pieter.grades))
For some reason the following is printed for my first print command:
“<bound method Student.get_average of <main.Student object at 0x7fbc60427828>>”
Whereas for the following two print commands I do print a list of int and get a proper average:
[100, 70]
85.0
This is what I expect. Please help!!