sciences numériques et technologie (seconde) · Chapitre 5 · Exercice de TD
Lire, corriger et compléter une fonction d'écart type
Les fonctions · Lire une fonction statistique · niveau 3 (difficile)
Énoncé
Cette fonction devrait renvoyer l'écart type d'une liste de valeurs. Elle renvoie un résultat faux.
def ecart_type(valeurs):
m = moyenne(valeurs)
total = 0
for x in valeurs:
total = total + (x - m)
return (total / len(valeurs)) ** 0.5
- Tester sur
[4, 6, 8, 10, 12](le résultat attendu est ). - Trouver l'erreur et la corriger.
- Expliquer pourquoi le résultat obtenu ne pouvait pas être bon, sans même connaître la bonne valeur.
Corrigé
1. La fonction renvoie 0.0, ou lève une erreur selon les données.
2. Le carré manque. La ligne d'accumulation doit être :
total = total + (x - m) ** 2
Avec cette correction, on obtient bien .
3. On pouvait le savoir sans calculer la bonne valeur. La somme des écarts à la moyenne est toujours nulle : c'est une propriété de la moyenne, les écarts positifs compensant exactement les négatifs. La fonction fautive renvoyait donc quelles que soient les données — y compris pour une série très dispersée.
C'est le meilleur des tests : un résultat constant là où l'on attend une variation. Il suffisait d'essayer deux listes différentes pour voir le défaut, sans jamais avoir à calculer l'écart type à la main. Et c'est aussi la raison mathématique pour laquelle on élève au carré : sans cela, l'indicateur ne mesurerait rien.
100 % gratuit
Essaie le suivant avec le tuteur
- L'exercice suivant avec le tuteur, sans compte : il guide pas à pas, sans donner la réponse
- 14 autres exercices corrigés dans ce chapitre, et 23 à chercher avec le tuteur
- Les 2 QCM du chapitre, le premier sans compte
- Le podcast et la vidéo du chapitre et la correction filmée du TD : 2 minutes sans compte
Sans compte : le cours, le premier QCM, 2 minutes de podcast et de vidéo et un exercice avec le tuteur. Pour tout le reste : inscription gratuite en 30 secondes, sans carte bancaire.