6. global name 'average' is not defined


#1

French version.

def calcule_moyenne(etudiant):
""" calcule de la moyenne pondérée"""

devoirs = average(etudiant["devoirs"])
quiz = average(etudiant["quiz"])
tests = average(etudiant["tests"])

return 0.1*devoirs + 0.3*quiz + 0.6*tests

#2

Bonjour @courserockstar36593,

J'ai déjà une petite idée mais est-ce que tu peux copier tout ton code? Ca sera plus facile pour un débuggage efficace! :smile:

Pour garder le formattage et l'indentation utilise ce petit truc: Puisque ce forum supporte le language Markdown tu n'as qu'a tapper trois accent grave avant et après ton code, comme suit:

```
def my_func(x):
my_var = 0
if x > my_var:
sum = my_var + x
else:
print "Odelay!"
return sum
```

et il sera rendu avec l'indentation intacte et tu aura même droit à un peu de couleur en prime!

def my_func(x):
    my_var = 0
    if x > my_var:
      sum = my_var + x
    else:
      print "Odelay!"
    return sum

#3

This worked for me:

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

#4

About time. Thank you SO MUCH for posting a correct answer!


#5

So the code above works but what is the point of defining a variable if you are just going to type out the individual average?