Complete the Course class by implementing the find_student_highest_gpa() instance method, which returns the Student object with the highest GPA in the course. Assume that no two students have the same highest GPA. Given the following: • The main function for testing the program. • Class Course represents a course, which contains a list of Student objects as a course roster. (Type your code in here.) • Class Student represents a classroom student, which has three attributes: first name, last name, and GPA. Note: For testing purposes, different student values will be used. Ex. For the following students: Henry Nguyen 3.5 Brenda Stern 2.0 Lynda Robison 3.2 Sonya King 3.9 the output is: Top student: Sonya King ( GPA: 3.9 )
python:
class Student:
def __init__(self, first, last, gpa):
self.first = first # first name
self.last = last # last name
self.gpa = gpa # grade point average
def get_gpa(self):
return self.gpa
def get_last(self):
return self.last
class Course:
def __init__(self):
self.roster = [] # list of Student objects
def add_student(self, student):
self.roster.append(student)
def course_size(self):
return len(self.roster)
# Type your code here
if __name__ == "__main__":
course = Course()
course.add_student(Student('Henry', 'Nguyen', 3.5))
course.add_student(Student('Brenda', 'Stern', 2.0))
course.add_student(Student('Lynda', 'Robison', 3.2))
course.add_student(Student('Sonya', 'King', 3.9))
student = course.find_student_highest_gpa()
print('Top student:', student.first, student.last, '( GPA:', student.gpa,')')
Trending now
This is a popular solution!
Step by step
Solved in 2 steps with 2 images