Just Weight and See - unsupported operand type(s)


#1

<Below this line, add a link to the EXACT exercise that you are stuck at.>
https://www.codecademy.com/courses/learn-python/lessons/student-becomes-the-teacher/exercises/just-weight-and-see?action=lesson_resume

< error messages >
get_average(alice) raised the following error: unsupported operand type(s) for *: ‘float’ and ‘NoneType’



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]
}
numbers = (5,4,7,6,1)

def average(numbers):
  total = sum(numbers)
  total = float(total)/len(numbers)
  print total

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["quizzes"]) 


Hi there, I don't understand how to solve this.

#2

your average function doesn’t return the total (it should, revisit the exercise where you build this function if you have to), so the default (None) is returned. float (0.1 for example) * None results in an error.


#3

Ah ok, thank you stetim94. It is working now. When it is on return status the following processes can work with the output.


#4