Part of the whole Help pls


#1
indent preformatted text by 4 spaces
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 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(students["tests"])
    return 0.1 * average(student["homework"]) + \
    0.3 * average(student["quizzes"]) + \
    0.6 * average(student["tests"])
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(students):
    results = []
    for person in students:
        results.append(get_average(person))
    return average(results)

i don't get what's wrong? somebody can help me


#2

Hi @luigi_foll ,

You have this in your get_average function ...

tests=average(students["tests"])

The name students in undefined there. You probably intended to do this instead ...

tests=average(student["tests"])

#3

hi @geomaticmashups,
this was the problem...thank you!!!


#4

Oops, try again. get_class_average([alice]) returned 83.8666666667 instead of 91.15 as expected

Im getting this error from codeacademy indeed there is no error in the console....
But the scores are perfectly fine, I doubt why get_class_average is taking alice as an argument where in it is taking the results list and has produced the correct result to the console....

Can anyone please help me out of this...struggling from a long time..