Hello, I need help with this assignment. Create a python program making use of l
ID: 3673345 • Letter: H
Question
Hello, I need help with this assignment.
Create a python program making use of lists and a dictionary.
Deliverables: Python File and a flowchart In first list, there will be four of your courses of your choice. In the second list there will be four grades corresponding to the four courses.
Define a dictionary that assigns grade points to each possible grade.
Calculate the GPA by adding each grade point (by reference to the dictionary) divided by the length of the second list. (use the len() statement for this. Here the list element will be embedded as the key in referencing the grade points. (e.g. [list2 [0] ]), this will yield the grade points of the first grade in the second list (list2).
Display each course with their grade, the total grade points and the GPA. Display the proper string literals that will identify your output. First assign the course list, then assign the grades list. Create the dictionary of grades with grade points. Calculate the total grade points. divide the grade points by the length of the grades list.
Explanation / Answer
class Grade:
def __init__(self, hours, qpoints, credits):
self.hours = float(hours)
self.qpoints = float(qpoints)
def getName(self):
return self.name
def getHours(self):
return self.hours
def getQPoints(self):
return self.qpoints
def gpa(self):
return self.qpoints/self.hours
def addGrade(self, OneGradePoint , credits):
self.hours += credits
self.qpoints += credits*OneGradePoint
def addLetterGrade(self, grade):
total = 0
for i in grade(A,B,C,D,E,F):
if grade == 'A':
total = total + 4.0
elif grade == 'A-':
total = total + 3.7
elif grade == 'B+':
total = total + 3.3
elif grade == 'B':
total = total + 3.0
elif grade == 'B-':
total = total + 2.7
elif grade == 'C+':
total = total + 2.3
elif grade == 'C':
total = total + 2.0
elif grade == 'C-':
total = total + 1.7
elif grade == 'D+':
total = total + 1.3
elif grade == 'D':
total = total + 1.0
elif grade == 'E':
total = total + 0.0
elif grade == 'F':
total = total + 0.0
def main():
grade = input('Enter grade')
credits = input('Enter number of hours for this course: ')
error_float = 'error: expected a floating-point number'
# make a new Grade object
Grades = Grade('Grades', 0.0, 0.0)
# user-feedback loop
while 1:
# prompt user to enter a grade
grade_str = input(grade)
# quit if no grade is entered
if grade_str.strip() == 'done':
break
try:
# convert input to a floating-point value
grade = float(grade_str)
except ValueError:
# if input cannot be converted, restart feedback loop
print(error_float)
continue
# prompt user to enter the number of credits
credits_str = input(credits).strip()
try:
# convert input to a floating-point value
credits = float(credits_str)
except ValueError:
# if input cannot be converted, restart feedback loop
print(error_float)
continue
# update the grades
Grades.addGrade(grade, credits)
# after user has entered all grades, compute the cumulative GPA
if Grades.getHours() == 0.0:
# can't compute GPA if hours = 0
print('*** zero credit hours recorded')
else:
# otherwise, output cumulative GPA and finish
print('*** final GPA =', Grades.gpa())
if __name__ == '__main__':
main()
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.