Part of the whole


#1

It says get_class_average([alice, lloyd]) returned 91.15 instead of 85.85 as expected. I have no clue what I am doing wrong. I tried it so many times. Help!


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]
}# Add your function below!
def get_average(numbers):
  total = sum(numbers)
  total = float(total)
  result = total / len(numbers)
  return result

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_average(student):
  homework = average(student["homework"])
  quizzes = average(student["quizzes"])
  tests = average(student["tests"])
  return 0.1 * average(student["homework"]) + 0.3 * average(student["quizzes"]) + 0.6 * average(student["tests"])


def get_class_average(students):
  results = []
  for student in students:
    get_average(student)
    results.append(get_average(student))
    results = sum(results)/len(results)
    return results

#2

here:

results = sum(results)/len(results)

you only want to do this after appending all student average to the list? Currently, you do this in every iteration of the loop

to achieve this, place this line outside the loop


#3

I had this error too. I can give you another hint that of these two lines, only one is needed:

get_average(student)
results.append(get_average(student))

Also, rather than using ‘students’ as the argument, it should be class_list, but I’m not sure that this matters too much - it should still pass the validation.


#4

the paramter doesn’t matter much, in the old course it was students in the new one its class_list, i think they changed it because many people confused it with students list, but in th end, it doesn’t matter


#5

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