forked from DerailedPsyche/hacktoberfest2021
-
Notifications
You must be signed in to change notification settings - Fork 0
/
GPA calculator
20 lines (20 loc) · 817 Bytes
/
GPA calculator
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
print( 'Welcome to the GPA calculator.' )
print( 'Please enter all your letter grades, one per line. ')
print( 'Enter a blank line to designate the end.' )
# map from letter grade to point value
points = { 'A+':4.5, 'A' :4.0, 'A-' :3.67, 'B+' :3.33, 'B' :3.0, 'B-' :2.67,
'C+' :2.33, 'C' :2.0, 'C-' :1.67, 'D+' :1.33, 'D' :1.0, 'F' :0.0}
num_courses = 0
total_points = 0
done = False
while not done:
grade = input( ) # read line from user
if grade =='' : # empty line was entered
done = True
elif grade not in points: # unrecognized grade entered
print("Unknown grade {0} being ignored".format(grade))
else:
num_courses += 1
total_points += points[grade]
if num_courses > 0: # avoid division by zero
print( "Your GPA is {0:.3}" .format(total_points / num_courses))