Apr 16, 2025 | 264 words | 3 min read
4.2.3. Average Grade#
Write a program that asks the user to enter a valid score five times. The
program should display a letter grade after each score is entered. After all the
scores are entered, it should display the average of the scores and the letter
grade corresponding to that average. Complete your program by writing the
following three functions and calling them from within your main
function.
get_valid_score
This function should ask the user to enter a score. If the score is less than \(0\) or greater than \(100\), the function should ask the user to re-enter a score, until the user enters a valid one. Finally, the function returns the valid score.
calc_average
This function should accept a list of scores as its only argument and return the average of the scores. It should be able to handle lists of any length.
determine_grade
This function should accept a score as an argument and return a letter grade for the score based on the grading scale in
Score |
Grade |
---|---|
\([92,100]\) |
A |
\([82, 92)\) |
B |
\([73,82)\) |
C |
\([64,73)\) |
D |
\([0,64)\) |
F |
Sample Output#
Use the values in Table 4.5 below to test your program.
Case |
Scores |
---|---|
1 |
89, 75, 91, 82, 64 |
2 |
93, -7, 101, 100, 0, 82, 65 |
Ensure your program’s output matches the provided samples exactly. This includes all characters, white space, and punctuation. In the samples, user input is highlighted like this for clarity, but your program should not highlight user input in this way.
Case 1 Sample Output
$ python3 avg_grade_login.py Enter a score: 89 The letter grade for 89.0 is B. Enter a score: 75 The letter grade for 75.0 is C. Enter a score: 91 The letter grade for 91.0 is B. Enter a score: 82 The letter grade for 82.0 is B. Enter a score: 64 The letter grade for 64.0 is D.
Results: The average score is 80.20. The letter grade for 80.20 is C.
Case 2 Sample Output
$ python3 avg_grade_login.py Enter a score: 93 The letter grade for 93.0 is A. Enter a score: -7 Invalid Input. Please try again. Enter a score: 101 Invalid Input. Please try again. Enter a score: 100 The letter grade for 100.0 is A. Enter a score: 0 The letter grade for 0.0 is F. Enter a score: 82 The letter grade for 82.0 is B. Enter a score: 65 The letter grade for 65.0 is D.
Results: The average score is 68.00. The letter grade for 68.00 is D.
Deliverables#
Save your finished program as avg_grade_login.py
, replacing
login
with your Purdue login. Then submit it along with all the
deliverables listed in
Table 4.6 below.
Deliverable |
Description |
---|---|
|
Your finished program. |
Screenshot(s) |
PNG(s) capturing both test cases. |