LINK (fork this): EDITOR A teacher wants to keep track of st…
Questions
LINK (fоrk this): EDITOR A teаcher wаnts tо keep trаck оf students’ grades in a class as well as have the ability to compute some statistics. Write the class GradeReport to help the teacher with this task. The GradeReport class should have the following specifications: def __init__(self, maxSize: int) - Initializes a GradeReport object with TWO instance attributes: maxSize (the maximum number of grades the GradeReport can hold) and grades (a list to hold students’ grades). The grades attribute should be an empty list upon object creation. def add_grade(self, grade: float) - Adds a new grade to the list of student grades. If adding this grade causes len(grades) > maxSize to be true, the OLDEST grade should be removed. def printGradeReport(self) - PRINTS all the current grades according to the following format. If there are no grades in the list, it should follow the same format. “Number of grades in GradeReport: {}” “Maximum number of grades in GradeReport: {}” “Current grades:” {grade1} {grade2} { … } def average_grade(self) - RETURNS the average of all the grades in the list. If there are no grades in the list, it should return -1. def lowest_grade(self) - RETURNS the LOWEST grade in the list. If there are no grades in the list, it should return -1. def highest_grade(self) - RETURNS the HIGHEST grade in the list. If there are no grades in the list, it should return -1. def count_above_average(self) - RETURNS the number of grades that are GREATER THAN the average grade. You should test your code based on the expected behavior. We will not provide any explicit tests.