Just Weight and See------I want to know what's wrong with my code


#1

I want to know what’s wrong with my code?and where my thought process got wrong? thank you so much

https://www.codecademy.com/courses/python-beginner-en-qzsCL/1/2?curriculum_id=4f89dab3d788890003000096

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(student[“tests”])
sums = sum(3*(homework + quizzes + tests))
return sums


#2

Hi @wonderliu,

The instructions state …

Multiply the 3 averages by their weights and return the sum of those three. Homework is 10%, quizzes are 30% and tests are 60%.

However, you have this …

       sums = sum(3*(homework + quizzes + tests))
       return sums

The above multiplies the sum of the averages by 3, which is not the same as multiplying each one by its weight.

To multiply each of the averages by their weights and return the sum of those weights, just do this …

       return 0.1 * homework + 0.3 * quizzes + 0.6 * tests

#3

thank you…i already solved problems


#4