Calculer une somme avec une boucle for
Créez un compte gratuit pour suivre votre avancement et reprendre où vous avez laissé.
Créer un compteMéthode
Pour calculer une somme avec une boucle for :
- Initialiser la somme à 0 avant la boucle : S = 0.
- Écrire la boucle for qui parcourt les termes à additionner.
- À chaque tour, ajouter le terme courant à la somme : S = S + terme.
- Après la boucle, la variable S contient la somme finale. On peut l'afficher avec print.
Ce schéma d'accumulation se transpose pour calculer un produit (initialiser P = 1 et multiplier), un maximum, un compteur, etc.
Somme des entiers de 1 à 100
On veut calculer $S = 1 + 2 + 3 + \ldots + 100$ :
S = 0
for i in range(1, 101) :
S = S + i
print(S)
Étape 1 : Initialisation : S = 0 avant la boucle.
Étape 2 : La boucle parcourt i de 1 à 100 (avec range(1, 101) — penser à la borne exclue).
Étape 3 : À chaque tour, S = S + i ajoute la valeur de i à la somme.
Suivi des premières étapes :
| Étape | i | S après S = S + i |
|---|---|---|
| 1 | 1 | 1 |
| 2 | 2 | 3 |
| 3 | 3 | 6 |
| 4 | 4 | 10 |
| ... | ... | ... |
| 100 | 100 | 5050 |
Étape 4 : Après la boucle, on affiche S, qui vaut $5050$.
Somme des carrés des entiers de 1 à 10
On veut calculer $S = 1^2 + 2^2 + 3^2 + \ldots + 10^2$ :
S = 0
for i in range(1, 11) :
S = S + i ** 2
print(S) # affiche 385
Étape 1 : Initialisation : S = 0.
Étape 2 : La boucle parcourt i de 1 à 10 avec range(1, 11).
Étape 3 : À chaque tour, on ajoute le carré de i à la somme.
Étape 4 : Vérification rapide : $1 + 4 + 9 + 16 = 30$ (quatre premiers termes). Le programme renvoie $385$, qui correspond à la formule $\dfrac{n(n+1)(2n+1)}{6} = \dfrac{10 \times 11 \times 21}{6} = 385$.
Attention
Deux oublis classiques :
- Oublier l'initialisation avant la boucle : Python signale alors une erreur quand il rencontre S = S + i (la variable S n'existe pas encore).
- Initialiser S = 0 à l'intérieur de la boucle : la somme est remise à zéro à chaque tour, et la valeur finale n'est alors que le dernier terme.
Pour un produit, initialiser à 1 (et non à 0), sinon le produit restera nul.