Your class announced a new grade policy: any of your quiz score that are less than 80 will have 2 points added to them. You decide to check whether the proposed grade replacement policy changes your overall quiz grade. Write a function grade_change that takes as input * a list of quiz grades * a list of letter grade cutoffs and returns the two average scores (before and after the policy) and their corresponding letter grades packaged as a list of tuples using the following order: [(avg1, letter1), (avg2, letter2)] First, you need to * compute the average score of the quiz grades * call the get_letter_grade to get the letter grade for the current average * find the quiz scores that are less than 80 in the list and increment each by 2 * recompute the average score * call the get_letter_grade to get the letter grade for the new average Finally, you return the requested result. Just to help you test your code, here's the main program and its output: if __name__ == "__main__": print(get_letter_grade(97, [93, 90, 87, 83, 80])) print(get_letter_grade(93, [97, 90, 87, 83, 80])) print(grade_change([80, 73, 77, 85, 92], [97, 90, 87, 83, 80])) Output: A A- [(81.4, 'B-'), (82.2, 'B-')]
Python
Your class announced a new grade policy: any of your quiz score that are less than 80 will have 2 points added to them.
You decide to check whether the proposed grade replacement policy changes your overall quiz grade.
Write a function grade_change that takes as input
* a list of quiz grades
* a list of letter grade cutoffs
and returns the two average scores (before and after the policy) and their corresponding letter grades packaged as a list of tuples using the following order: [(avg1, letter1), (avg2, letter2)]
First, you need to
* compute the average score of the quiz grades
* call the get_letter_grade to get the letter grade for the current average
* find the quiz scores that are less than 80 in the list and increment each by 2
* recompute the average score
* call the get_letter_grade to get the letter grade for the new average
Finally, you return the requested result.
Just to help you test your code, here's the main program and its output:
if __name__ == "__main__":
print(get_letter_grade(97, [93, 90, 87, 83, 80]))
print(get_letter_grade(93, [97, 90, 87, 83, 80]))
print(grade_change([80, 73, 77, 85, 92], [97, 90, 87, 83, 80]))
Output:
A
A-
[(81.4, 'B-'), (82.2, 'B-')]
Step by step
Solved in 2 steps