Les résultats aux évaluations d'un élève sont regroupés dans une liste non vide composée de couples (note, coefficient). Dans ce couple :
note est un nombre de type flottant (float) compris entre 0.0 et 20.0
coefficient est un nombre de type entier (int) strictement positif
Écrire une fonction moyenne qui renvoie la moyenne pondérée de cette liste donnée en paramètre.
Comparaison de nombres flottants
Lorsqu'on écrit a = x ou x est un nombre réel, la valeur de a enregistrée en machine est une valeur approchée de x (quelques fois la valeur exacte).
Cette valeur approchée a la forme d'un nombre flottant (le type float en Python). En conséquence, alors que des calculs et des comparaisons peuvent être effectués de manière exacte sur des réels, ils ne le sont que de manière approchée sur leur représentation en machine.
On peut donc obtenir par exemple, avec a = x et b = y, l'expression a == b évaluée à True alors que x et y sont différents.
C'est pourquoi les tests ne vérifient pas l'égalité des résultats et des valeurs attendues mais leur proximité.
Ainsi, on peut vérifier que \(\sqrt{2} \approx 1,414214\) en faisantassertabs(1.414214-sqrt(2))<1e-6. Ce test vérifie que les deux valeurs sont proches à \(10^{-6}\) près.
# Tests
(insensible à la casse)(Ctrl+I)