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]
}

# Add your function below!
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 :relaxed:. Thanks for pointing out that :slightly_smiling: