Contenu principal
Chapitre 7 · Les listes › Leçon 2 sur 8

Calculer sa moyenne

Héloïse souhaite calculer sa moyenne. Pour cela elle a saisi la liste de ses notes dans une variable notes. Nous allons l'aider à calculer sa moyenne.

  1. 1

    Quelle est la deuxième note de la liste ? Dans la console saisi l'instruction permettant d'accéder à cette note à partir de la liste notes

    Solution

    La deuxième note est à l'indice 1

    >>> notes[1]
  2. 2

    Que renvoie l'instruction notes[50] lorsque tu la saisies dans la console ? Essaie de deviner ce qu'il va se passer.

    Solution

    L'instruction renvoie une erreur :

    >>> notes[50]
    IndexError: list index out of range
  3. 3

    Pour calculer la moyenne d'Héloïse il nous faut utiliser la formule : moyenne=somme des notesnombre de notes\mathrm{moyenne} = \frac{\mathrm{somme\ des\ notes}}{\mathrm{nombre\ de\ notes}}

    On a donc besoin du nombre total de notes. Combien y a-t-il de notes dans la liste ? (tu peux les compter manuellement)

    Le problème en utilisant ce nombre directement c'est qu'il faudra modifier la formule à chaque fois qu'Héloïse ajoute une note. Le programme ne sera pas dynamique.

    On peut faire mieux, pour ne pas avoir à compter manuellement ! C'est ce que permet la fonction len (pour length ou longueur en anglais)

    Que renvoie l'instruction len(notes) dans la console ?

    Solution

    On appelle la fonction len sur la liste notes

    >>> len(notes)
    8
  4. 4

    On pourrait faire la somme des notes en faisant S = notes[0] + notes[1] + ... afin d'additionner chacun des éléments. Mais ici encore le code ne serait pas dynamique et si la liste change de longueur il faudrait modifier la formule pour ajouter les nouveaux termes.

    Pour y remédier on va utiliser une boucle for. Dans l'éditeur j'ai ajouté un début de code pour t'aider. La variable S va permettre de calculer la somme des notes.

    Pour itérer directement sur les éléments d'une liste on utilise la syntaxe suivante :

    for note in notes:
    	print(note)

    Observe que je n'utilise pas la fonction range. Dans le code précédent la variable note de la ligne for note in notes prend donc successivement les valeurs des différents éléments de la liste notes. Donc ce code nous afficherait les notes une à une.

    À toi de jouer. Dans le corps de la boucle for ajoute une instruction pour incrémenter la variable S à chaque itération. À la fin de la boucle S doit contenir la somme des notes.

    Solution

    Pour calculer la somme des notes, à chaque itération il faut ajouter à S la valeur de la note suivante :

    notes = [12, 14, 13, 15, 12.5, 16, 11, 13]
    
    S = 0
    for note in notes:
    	S = S + note
  5. 5

    Il ne reste plus qu'à finir le calcul de la moyenne. Défini une variable moyenne et affecte-lui le calcul de la moyenne d'Héloïse en utilisant S et notes

    Ensuite affiche la avec un print

    Solution

    On connaît le nombre de notes à l'aide de la fonction len, donc la moyenne s'obtient en faisant S / len(notes). On ajoute un print pour afficher le résultat du calcul.

    notes = [12, 14, 13, 15, 12.5, 16, 11, 13]
    
    S = 0
    for i in range(len(notes)):
    	S = S + notes[i]
    
    moyenne = S/len(notes)
    print(moyenne)
Dans cette leçon nous avons vu que l'on peut itérer directement sur une liste et que la fonction len nous donne la longueur d'une liste.

Chargement...

Collecte des fichiers...

>>>