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


#1

Please explain it to me!
I would be really grateful if somebody told me how to do this!!! :relieved:

Thx Teardropinfinity :sparkles:


#2

Hi there, I'd like to explain if you'd tell we to explain something, just ask me what you want to know :smiley:


#3

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
return total


#4

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


#5

Thank you!! :sunglasses: :musical_note:


#6

Thanks Vidura!!
Especially for the pseudo explaining how it all works! :grin:
...before that I was :anguished: sweatin it! Lol


#7

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?


#8
def average(numbers):
    total = sum(numbers)
    return float(total) / len(numbers)

#9

Yeah dat makes code short thanks for showing dat :grinning:


#10

you are welcome mate...


#11

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..


#12

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


#13

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


#14

Thanks, you wrote the code briefly and clear


#15

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


#16

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

Its OK


#18