Calculer sa moyenne
Pécine 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
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
notesSolution
La deuxième note est à l'indice 1
>>> notes[1] - 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
Pour calculer la moyenne de Pécine il nous faut utiliser la formule :
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 que Pécine 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
lensur la listenotes>>> len(notes) 8 - 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
Sva 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 variablenotede la lignefor note in notesprend donc successivement les valeurs des différents éléments de la listenotes. 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 boucleSdoit contenir la somme des notes.Solution
Pour calculer la somme des notes, à chaque itération il faut ajouter à
Sla 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
Il ne reste plus qu'à finir le calcul de la moyenne. Défini une variable
moyenneet affecte-lui le calcul de la moyenne de Pécine en utilisantSetnotesEnsuite affiche la avec un
printSolution
On connaît le nombre de notes à l'aide de la fonction
len, donc la moyenne s'obtient en faisantS / len(notes). On ajoute unprintpour 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)
len nous donne la longueur d'une liste.