Adloun

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
  1. Tester sur [4, 6, 8, 10, 12] (le résultat attendu est ).
  2. Trouver l'erreur et la corriger.
  3. 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

Faire l'exercice suivant avec le tuteur

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.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant avec le tuteur →