Answer:
<em>The program doesn't make use of comments (See Explanation)</em>
<em>Also the source code is attached as image to enable you see the proper format and indexing of the source code</em>
<em>The program using python is as follows</em>
def calc_average(name):
score = []
sum = 0
for j in range(8):
inp = int(input("Test Score"+str(j+1)+": "))
score.append(inp)
sum = sum + inp
if inp>=90 and inp<=100:
print("A")
elif inp>=80 and inp<90:
print("B")
elif inp>=70 and inp<80:
print("C")
elif inp>=60 and inp<70:
print("D")
else:
print("F")
avg = sum/8
print("Result Details of "+name)
print("Average Score: "+str(avg))
return avg
def determine_grade(result):
if float(result) >= 90.0 and float(result) <= 100.0:
print("Letter Grade: A")
elif float(result) >= 80.0 and float(result) <90.0:
print("Letter Grade: B")
elif float(result) >= 70.0 and float(result) < 80.0:
print("Letter Grade: C")
elif float(result) >= 60.0 and float(result) < 70.0:
print("Letter Grade: D")
else:
print("Letter Grade: F")
print(" ")
for i in range(2):
name = input("Student Name: ")
result = calc_average(name)
determine_grade(result)
Explanation:
def calc_average(name): -> Declares the function calc_average(name); It accepts local variable name from the main function
score = []
-> Initialize an empty list to hold test scores
sum = 0
-> Initialize sum of scores to 0
for j in range(8):
-> Iterate from test score 1 to 8
inp = int(input("Test Score"+str(j+1)+": "))
-> This line accepts test score from the user
score.append(inp)
-> The user input is then saved in a lisy
sum = sum + inp
-> Add test scores
The following lines determine the letter grade of each test score
if inp>=90 and inp<=100:
print("A")
<em>--- </em>
else:
print("F")
avg = sum/8 -> Calculate average of the test score
The next two lines prints the name and average test score of the student
print("Result Details of "+name)
print("Average Score: "+str(avg))
return avg
-> This line returns average to the main method
The following is the determine_grade method; it takes it parameter from the main method and it determines the letter grade depending on the calculated average
def determine_grade(result):
if float(result) >= 90.0 and float(result) <= 100.0:
print("Letter Grade: A")
elif float(result) >= 80.0 and float(result) <90.0:
print("Letter Grade: B")
elif float(result) >= 70.0 and float(result) < 80.0:
print("Letter Grade: C")
elif float(result) >= 60.0 and float(result) < 70.0:
print("Letter Grade: D")
else:
print("Letter Grade: F")
print(" ")
for i in range(2):
-> This is the main method
name = input("Student Name: ") -> A local variable stores name of the student
result = calc_average(name) -> store average of scores in variable results
determine_grade(result)-> Call the determine_grade function