# 5/9 Student becomes the teacher- It's okay to be average- i don't get it!

I would be really grateful if somebody told me how to do this!!! Thx Teardropinfinity 2 Likes

Hi there, I’d like to explain if you’d tell we to explain something, just ask me what you want to know 1 Like

def average(numbers):
#sum of the numbers
total = sum(numbers)
#making the integer a float
total = float(total)
#finding average
total = total / len(numbers)
#storing it until function is called

14 Likes

on the second to last part you can do total /= len(numbers)

5 Likes

Thank you!!  2 Likes

Thanks Vidura!!
Especially for the pseudo explaining how it all works! …before that I was sweatin it! Lol

2 Likes

What i don’t understand is that they refer to the “list” numbers.
ofcourse there are several list with numbers. So if i set the argument of the function to numbers it will find by itself a list with numbers?

1 Like
``````def average(numbers):
total = sum(numbers)
return float(total) / len(numbers)``````
6 Likes

Yeah dat makes code short thanks for showing dat 1 Like

you are welcome mate…

1 Like

def get_average(student):
homework = average(student[“homework”])
quizzes = average(student[“quizzes”])
tests = average(student[“tests”])

You can see dat next function calls the previous function with the lists one by one…

1 Like

or you can do it in one function in one line. See example below:
(make sure CODE ACADEMY will not accept this answer, but it’s working on my local Python 3.5.1 console)

numbers = [5, 7, 10] #this is my list of numbers

def average(numbers):
total = sum(numbers)
print (float(sum(numbers)) / len(numbers)) #I change return to print in order to see value on the console

average(numbers) #calling function

2 Likes

@ajaxsurfer81772 thanks for sharing serge… yes there are some changes in python3

2 Likes

Thanks, you wrote the code briefly and clear

2 Likes

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):
sum(numbers)
total= sum(numbers)
total = float(total)
total/len(numbers)
Keep getting this error:
Oops, try again. average([3, 0]) returned 3.0 instead of 1.5 as expected.

1 Like

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