Le championnat d'Europe de la bourrée auvergnate a été organisé à Nantes.
A l'issue de sa chorégraphie, chaque athlète reçoit une note de chacun des \(n\) juges, le nombre de juges étant obligatoirement supérieur à \(3\).
La note finale est calculée selon la méthode de la moyenne olympique : on enlève les deux notes extrêmes et on calcule la moyenne des \(n - 2\) notes restantes.
Les notes sont des nombres entiers entre 0 et 10 inclus l'un et l'autre.
Vous devez aider les organisateurs à donner la note finale en créant une fonction moyenne_olympique qui prend en paramètre un tableau contenant les notes d'au moins trois juges et renvoie la moyenne olympique attendue.
Contraintes
On n'utilisera pas les fonctions Python max, min, sort, sorted ni sum.
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.
###(Dés-)Active le code après la ligne # Tests (insensible à la casse) (Ctrl+I)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
# Tests
(insensible à la casse)(Ctrl+I)