Did you remember to print the letter grade for the class's average?


#1
lloyd = {
  "name": "Lloyd",
  "homework": [90.0, 97.0, 75.0, 92.0],
  "quizzes": [88.0, 40.0, 94.0],
  "tests": [75.0, 90.0]
}
alice = {
  "name": "Alice",
  "homework": [100.0, 92.0, 98.0, 100.0],
  "quizzes": [82.0, 83.0, 91.0],
  "tests": [89.0, 97.0]
}
tyler = {
  "name": "Tyler",
  "homework": [0.0, 87.0, 75.0, 22.0],
  "quizzes": [0.0, 75.0, 78.0],
  "tests": [100.0, 100.0]
}

def average(numbers):
  total = sum(numbers)
  total = float(total)
  total = total / len(numbers)
  return total
def get_average(student):
  homework = average(student["homework"])
  quizzes = average(student["quizzes"])
  tests = average(student["tests"])
 
  return ((homework * .1) + (quizzes * .3) + (tests * .6))
def get_letter_grade(score):
  if score >= 90:
    return "A"
  elif score >= 80:
    return "B"
  elif score >= 70:
    return "C"
  elif score >= 60:
    return "D"
  else:
    return "F"

def get_class_average(class_list):
  results = []
  for student in class_list:
    results.append(get_average(student))
  return average(results)

students = [lloyd, alice, tyler]

for student in students: 
  print student["name"]
  print student["homework"]
  print student["quizzes"]
  print student["tests"]
  
print(get_letter_grade(lloyd))
print(get_class_average(students))
print(get_letter_grade(students))

Above code generating the error:
Did you remember to print the letter grade for the class’s average?

On the following class
STUDENT BECOMES THE TEACHER
How is Everybody Doing?

Tried restarting the lesson still getting the error, what am i doing wrong?


#2

get_letter_grade takes a score as a parameter, not a student or a list of students, to get the letter grade of the class you need to either store get_class_average(students) in a variable and use that for get_letter_grade or just pass get_class_average(students) into get_letter_grade


#3

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.