Just weight and see query

#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 = float(sum(numbers))
result = total / len(numbers)

def get_average(student):
h = average(student["homework"])
q = average(student["quizzes"])
t = average(student["tests"])
return 0.1 * h + 0.3 * q + 0.6 * t``````

Hello
This is my code
I got a error
Oops, try again. get_average(alice) raised the following error: unsupported operand type(s) for *: 'float' and 'NoneType'

Please help me not able to figure out what's the error is and proceed to next level.

#2

Even harder to figure out when it runs and passes on my end. Unable to reproduce this outcome. We will need to know a bit more about the operating environment. Can share the details?

Edit:

Take that back. I didn't previously include the average() function in my test. I have reproduced the outcome described. Will go about finding a solution. Now there's two of us on it.

#3

This is not returned, so the interpreter throws an error because the values are not set on h, q, t.

``    return total / len(numbers)``

`h`, `q` and `t` will respectively all be `None`. We cannot multiply by `None`, hence the unsupported operand.

#4

Yeah cool . Thanks for pointing out that