Help ! Mayday ! :/ [ L'élève devient profeseur/ 8. Une partie de tout]


#1

Hello :slightly_smiling: Bonjour :slightly_smiling:

Je n'arrive pas a passer cet exercice ! Malgré le fait que je soit allée de forum en forum rien a faire je reste bloquée !

Une solution ? :slightly_smiling: Merci !


Voici mon code !!

lloyd = {
"noms": "Lloyd",
"devoirs": [90.0, 97.0, 75.0, 92.0],
"quiz": [88.0, 40.0, 94.0],
"tests": [75.0, 90.0]
}
alice = {
"noms": "Alice",
"devoirs": [100.0, 92.0, 98.0, 100.0],
"quiz": [82.0, 83.0, 91.0],
"tests": [89.0, 97.0]
}
tyler = {
"noms": "Tyler",
"devoirs": [0.0, 87.0, 75.0, 22.0],
"quiz": [0.0, 75.0, 78.0],
"tests": [100.0, 100.0]
}

def moyenne(nombres):
somme = sum(nombres)
somme = float(somme)
taille = len(nombres)
taille = float(taille)
total = somme/taille
return total

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

def calcule_moyenne(etudiant):
devoirs = average(etudiant['devoirs'])
quiz = average(etudiant['quiz'])
tests = average(etudiant['tests'])
note = 0.1 * devoirs + 0.3 * quiz + 0.6 * tests
return note

def ecrire_lettre_note(note):
if note >= 90:
return "A"
elif note >= 80:
return "B"
elif note >= 70:
return "C"
elif note >= 60:
return "D"
else:
return "F"
print ecrire_lettre_note(calcule_moyenne(lloyd))

def calcule_classe_moyenne(etudiants):
resultats = []
for etudiant in etudiants:
resultats.append(calcule_moyenne(etudiant))
print "La moyenne de la classe est %.2f" % moyenne(resultats)

etudiants = [lloyd, alice, tyler]

note = calcule_classe_moyenne(etudiants)
lettre = ecrire_lettre_note(note)

print note
print lettre


Résultat de la console :

B
La moyenne de la classe est 83.87
None
F
None


Et ça me dit aussi ...

Oups, merci de réessayer. calcule_classe_moyenne([alice]) retourne None au lieu de 91.15 comme attendu


#2

@jibblyj
I do not see your answer ...