Adloun

Une moyenne écrite à la main

Exercice supplémentaire · niveau 1 (application) · mathématiques (ECT 2e année), chapitre 12 — Informatique et travaux pratiques · Le socle Python

Énoncé

Écrire une fonction Python moyenne(t, n) qui rend la moyenne des n premiers termes du tableau t, sans utiliser np.mean ni np.sum. Tester la fonction sur le tableau des entiers de à .

Corrigé

Le principe. Une moyenne est une somme divisée par un effectif. On accumule donc les termes un à un dans une variable, puis on divise.

La fonction.


def moyenne(t, n):
    s = 0
    for i in range(n):
        s = s + t[i]
    return s / n

Comment elle fonctionne. La variable s est initialisée à — c'est l'élément neutre de l'addition, donc le bon point de départ. La boucle for parcourt les indices , soit exactement n termes, puisque range(n) s'arrête avant n. À chaque tour, le terme courant s'ajoute à s. La division finale n'a lieu qu'une fois, après la boucle : la placer à l'intérieur donnerait un résultat faux.

Le test.


import numpy as np

t = np.arange(1, 6)
print(moyenne(t, 5))
# 3.0

Contrôle. La moyenne des entiers de à vaut : le programme affiche bien 3.0.

Le point délicat. L'initialisation s = 0 doit être avant la boucle. À l'intérieur, elle remettrait le compteur à zéro à chaque tour et la fonction rendrait le dernier terme divisé par n.

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.