Question: Write the main 7 _ student function, that takes two lists as parameters: the list of Student objects and the list of corresponding topic grades

Write the main7_student function, that takes two lists as parameters: the list of Student objects and the list of corresponding topic grades for those students. The function should print out the students with their GPA's. GPA values should be rounded to one decimal place.
Example usage:
>> stud =[Student('Cleo',21, 'Adelaide', 'Adelaide', 218918, False),
Student('Jake',20, 'Clovelly Park', 'Flinders', 218121, True),
Student('Callum',19, 'Blackwood', 'Flinders', 218958, True),
Student('David',24, 'Blackwood', 'Flinders', 218432, False),
Student('Claudia',26, 'Blackwood', 'Flinders', 218301, True),
Student('Mona',17, 'Royal Park', 'Adelaide', 218321, False),
Student('Clay',18, 'Clovelly Park', 'Flinders', 218900, True),
Student('Amy',21, 'Blackwood', 'Flinders', 218200, False),
Student('William',20, 'Clovelly Park', 'Adelaide', 218761, False),
Student('Luka',19, 'Royal Park', 'Adelaide', 218311, True)]
gpa =[('P','CR','CR'),('P','HD','CR'),
('HD','CR','DN','CR','WF'),('HD','CR','P','CR','WF'),
('HD','CR','P','F','CR'),('HD','CR','P','DN','DN'),
('HD','DN','P','CR','DN'),('HD','CR','P','CR','CR'),
('HD','CR','P','P','P'),('WF','CR','P','P')]
>> main7_student(stud,gpa)
output:
Name GPA
_____________
Cleo 4.7
Jake 5.3
Callum 4.9
David 4.5
Claudia 4.5
Mona 5.6
Clay 5.6
Amy 5.2
William 4.8
Luka 3.6
The definitions for Student and GPA are:
class Student:
'''An example class to hold basic attributes and methods associated with
a university student object'''
def __init__(self, name, age, address, uni, sn, empl):
self.name = name
self.address = address
self.age = age
self.uni = uni
self.sn = sn
def calculate_GPA(self, marks):
UNIT_VALUE =4.5
conv_table ={'HD':7,'DN':6,'CR':5,'P':4,'F':1.5,'WF':1.5}
num_of_marks = len(marks)
gpa_val =0
for ind, m in enumerate(marks):
if m in conv_table.keys():
gpa_val = gpa_val + conv_table[m]* UNIT_VALUE
else:
print('Error: mark at position %d is not acceptable' %ind)
return gpa_val/(num_of_marks*UNIT_VALUE) self.empl = empl

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!