# Just Weight and See 6/9

#1

Hi everyone,
Just a question about the code below and other codes that we have used during the course.
I would like to understand how in the code highlighted in bold letters,i.e.(homework = average (student[“homework”])) Python knows that students refers to the three students (lloyd, alice and tyler) because I did not state this in none line of code.
Please, could anyone explain this to me.
Best regards,

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

def get_average(student):
** homework = average (student[“homework”])**
** quizzes = average(student[“quizzes”])**
** tests = average(student[“tests”])**
** return homework * 0.1 + quizzes * 0.3 + tests * 0.6**

#2

`student` is just a variable (the function parameter) we use to identify the student dictionary that is passed to the function.

``````get_average(alice)
``````

Now inside the function,

``````homework = average(alice['homework'])
``````

and so on, since `student` is the `alice` dictionary.

#3

Ok, thank you mtf.
Best regards

#4

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.