Exercice 1 — Somme des éléments d'une liste
On dispose de la liste des productions journalières L = [120, 135, 98, 142, 105].
- 1.Écris une fonction qui renvoie la somme des éléments d'une liste, sans utiliser sum.
- 2.Donne la trace de l'accumulateur sur cette liste.
Voir la correction
Correction détaillée
- 1
On utilise un ACCUMULATEUR : une variable initialisée à 0, à laquelle on ajoute chaque élément.
- 2
def somme(L):S = 0for x in L:S = S + xreturn S
- 3
Trace : S = 0, puis 120, puis 255, puis 353, puis 495, puis 600.
- 4
La fonction renvoie 600 : la production totale des cinq jours.
- 5
Deux points de vigilance : S = 0 doit être AVANT la boucle, et return S APRÈS.
Rappel de cours : Somme d'une liste : accumulateur initialisé à 0 avant la boucle, renvoyé après.
Erreur fréquente : Placer return S dans la boucle : la fonction s'arrêterait au premier élément et renverrait 120.