Assignment:
Agnes Gru keeps track of her grades with the help of a python program, YI_AgnesGrades.py. (YI in the program name represents your initials)
This is her schedule:
twoLists = [['biology','chemistry','physics','horticulture', 'english','math','phys ed','spanish'],['period 1','period 2','period 3', 'period 4','period 5','period 6','period 7', 'period 8']]
## biology period 1
## chemistry period 2
## physics period 3
## horticulture period 4
## english period 5
## math period 6
## phys ed period 7
## spanish period 8
She has Test grades, Homework grades and Classwork grades for all of her classes. These categories have different weights. Homework and Classwork represent each 30% of her grade. Her test category represents 40% of her marking period grade. Write YI_AgnesGrades.py program for Agnes using functions and what your learned from twoLists.
You program should
- Prompt Agnes for her grades. (This function should be activated after the program is successfully completed)
- Calculate each category average.
- Calculate her final grade for the marking period for each period.
-
End the program by displaying each of her categories percentages and her marking period grade.
Make sure you use full sentences so Agnes can easily understand the results.
Use the following data with the purpose of developing your program and assessment:
Suggestion code:
# Program description
# author's name
# python version
##################
# Use these data
##################
#Period 1
# 15 homework grades
hwk1 = [86 ,76 ,79 ,72 ,78 ,77 ,90 ,86 ,79 ,71 ,89 ,79 ,98 ,87 ,96 ]
# 20 classwork grades
clwk1 = [71 ,86 ,76 ,86 ,88 ,79 ,85 ,98 ,75 ,87 ,76 ,99 ,75 ,85 ,74 ,71 ,77 ,80 ,85 ,76 ]
# 5 test grades
tst1 = [94 ,84 ,92 ,80 ,86 ]
#Period 2
# 15 homework grades
hwk2 = [90 ,97 ,74 ,80 ,93 ,75 ,84 ,94 ,94 ,86 ,79 ,88 ,100 ,80 ,71]
# 20 classwork grades
clwk2 = [84 ,92 ,93 ,83 ,86 ,82 ,84 ,98 ,76 ,80 ,74 ,71 ,95 ,99 ,73 ,78 ,70 ,80 ,73 ,72 ]
# 5 test grades
tst2 = [95 ,83 ,85 ,96 ,86 ]
#Period 3
# 15 homework grades
hwk3 = [88 ,74 ,88 ,100 ,82 ,77 ,85 ,90 ,98 ,89 ,99 ,96 ,81 ,75 ,85 ]
# 20 classwork grades
clwk3 = [83 ,79 ,94 ,71 ,92 ,90 ,97 ,96 ,77 ,89 ,100 ,80 ,95 ,85 ,78 ,73 ,95 ,75 ,92 ,70 ]
# 5 test grades
tst3 = [83 ,92 ,88 ,85 ,99 ]
#Period 4
# 15 homework grades
hwk4 = [82 ,76 ,85 ,81 ,80 ,73 ,73 ,100 ,96 ,97 ,74 ,78 ,91 ,90 ,82 ]
# 20 classwork grades
clwk4 = [97 ,98 ,71 ,90 ,79 ,90 ,72 ,84 ,73 ,83 ,87 ,91 ,81 ,74 ,76 ,91 ,82 ,82 ,87 ,75 ]
# 5 test grades
tst4 = [96 ,87 ,82 ,82 ,94 ]
#Period 5
# 15 homework grades
hwk5 = [77 ,95 ,79 ,75 ,97 ,90 ,76 ,94 ,93 ,84 ,89 ,95 ,74 ,91 ,97 ]
# 20 classwork grades
clwk5 = [96 ,91 ,91 ,86 ,92 ,76 ,72 ,70 ,87 ,84 ,87 ,87 ,76 ,83 ,72 ,99 ,82 ,76 ,75 ,79 ]
# 5 test grades
tst5 = [81 ,84 ,100 ,84 ,81 ]
#Period 6
# 15 homework grades
hwk6 = [94 ,91 ,71 ,82 ,73 ,78 ,84 ,82 ,75 ,83 ,93 ,98 ,86 ,100 ,76 ]
# 20 classwork grades
clwk6 = [81 ,86 ,95 ,92 ,83 ,80 ,97 ,84 ,96 ,90 ,97 ,82 ,79 ,77 ,74 ,94 ,78 ,85 ,80 ,74 ]
# 5 test grades
tst6 = [87 ,92 ,85 ,96 ,89 ]
#Period 7
# 15 homework grades
hwk7 = [88 ,83 ,97 ,82 ,78 ,89 ,99 ,74 ,71 ,86 ,81 ,72 ,91 ,87 ,95 ]
# 20 classwork grades
clwk7 = [97 ,83 ,99 ,100 ,97 ,88 ,92 ,73 ,88 ,82 ,96 ,76 ,95 ,75 ,93 ,95 ,93 ,72 ,93 ,95 ]
# 5 test grades
tst7 = [92 ,94 ,95 ,81 ,87 ]
#Period 8
# 15 homework grades
hwk8 = [100 ,88 ,92 ,74 ,82 ,88 ,75 ,80 ,93 ,82 ,85 ,85 ,97 ,94 ,78 ]
# 20 classwork grades
clwk8 = [97 ,85 ,90 ,73 ,73 ,99 ,96 ,100 ,99 ,77 ,99 ,88 ,78 ,83 ,96 ,84 ,89 ,93 ,99 ,90 ]
# 5 test grades
tst8 = [90 ,88 ,91 ,94 ,89 ]
##################
# functions
##################
def homework(hwk):
...
return avg
def classwork(clwk):
...
return avg
def test(tst):
...
return avg
##################
# main
##################
...
while yesNo =="y":
...
...
hwkAvg = round(homework(hwk))
clswkAvg = round(classwork(clwk))
tstAvg = round(test(tst))
print('Averages are ',hwkAvg,'for Homework', clswkAvg, 'for Classwork',tstAvg, 'for Tests')
....
print("The final quarter grade for period", periodx, "is", finalGrade)
...
NOTE: the three dots represent missing code that you need to fill in