Fiche récapitulative générée pour impression / export PDF.

2nde · Algorithmique et programmation en Python

Boucles et conditions en Python

La boucle for

La boucle for permet de répéter une instruction un nombre de fois connu à l'avance, en utilisant souvent la fonction range(...).

`python
for i in range(5):
print(i)
`

Ce programme affiche 0, 1, 2, 3, 4 (chacun sur une ligne) : range(5) génère les entiers de 00 à 44 (le nombre 55 n'est pas inclus).

Attention : en Python, l'indentation (les espaces en début de ligne) indique quelles instructions appartiennent à la boucle. Toutes les lignes indentées sous le for sont répétées.

La boucle while

La boucle while répète une instruction tant qu'une condition est vraie, sans connaître à l'avance le nombre de répétitions.

`python
n = 1
while n <= 100:
n = n * 2
print(n)
`

Ce programme double n tant que n \leqslant 100, en partant de 11 : 1,2,4,8,16,32,64,1281, 2, 4, 8, 16, 32, 64, 128. À 128128, la condition n100n \leqslant 100 devient fausse, la boucle s'arrête, et le programme affiche 128.

Les instructions conditionnelles if / elif / else

Une instruction if exécute un bloc de code seulement si une condition est vraie.

`python
n = 7
if n % 2 == 0:
print("pair")
else:
print("impair")
`

n % 2 calcule le reste de la division de n par 22 : ce reste vaut 00 si n est pair. Ici, n = 7, donc n % 2 = 1, la condition n % 2 == 0 est fausse, et le programme affiche impair.

Remarque : == teste une égalité (vrai/faux), alors que = affecte une valeur. Ne pas confondre les deux !

On peut enchaîner plusieurs conditions avec elif (« sinon si ») :

`python
note = 12
if note >= 16:
print("Très bien")
elif note >= 10:
print("Admis")
else:
print("Non admis")
`

Exemples

✅ Exemple simple — Boucle for et somme

`python
somme = 0
for i in range(1, 6):
somme = somme + i
print(somme)
`

range(1, 6) génère 1,2,3,4,51, 2, 3, 4, 5. On additionne ces valeurs à somme à chaque tour : 1+2+3+4+5=151+2+3+4+5=15. Le programme affiche 15.

📘 Exemple intermédiaire — Tester la parité

`python
for nombre in range(1, 8):
if nombre % 2 == 0:
print(nombre, "est pair")
else:
print(nombre, "est impair")
`

Pour chaque entier de 11 à 77, le programme affiche s'il est pair ou impair, par exemple 1 est impair, 2 est pair, etc.

🔴 Exemple avancé — Compter les multiples avec while

`python
compteur = 0
n = 1
while n <= 50:
if n % 3 == 0:
compteur = compteur + 1
n = n + 1
print("Nombre de multiples de 3 entre 1 et 50 :", compteur)
`

Ce programme parcourt les entiers de 11 à 5050 un par un, et incrémente compteur chaque fois que n est un multiple de 33. Il existe 1616 multiples de 33 entre 11 et 5050 (3,6,,483, 6, \ldots, 48), donc le programme affiche Nombre de multiples de 3 entre 1 et 50 : 16.

À retenir

- for i in range(n): répète un bloc n fois, avec i valant successivement 0,1,,n10, 1, \ldots, n-1.
- while condition: répète un bloc tant que la condition est vraie.
- if / elif / else exécute un bloc selon qu'une condition est vraie ou fausse.
- % donne le reste d'une division ; == teste une égalité (différent de =, qui affecte).
- L'indentation délimite les blocs d'instructions en Python.

Exercices de la leçon

Exercice 1

Que va afficher ce code ?

`python
for i in range(3):
print(i)
`

Corrigé

range(3) génère les entiers 0,1,20, 1, 2 (le nombre 33 n'est pas inclus). Le programme affiche donc 0, 1, 2, chacun sur une ligne.

Exercice 2

L'opérateur == en Python sert à affecter une valeur à une variable.

Corrigé

C'est faux : == teste une égalité (renvoie True ou False), tandis que = (un seul signe) affecte une valeur à une variable. Ce sont deux opérateurs différents.

Exercice 3

Que va afficher ce code ?

`python
n = 9
if n % 2 == 0:
print("pair")
else:
print("impair")
`

Corrigé

9%2=19 \% 2 = 1 (reste de la division de 99 par 22), donc la condition n % 2 == 0 est fausse : c'est le bloc else qui s'exécute, affichant impair.

Exercice 4

Que va afficher ce programme ?

`python
somme = 0
for i in range(1, 4):
somme = somme + i
print(somme)
`

Corrigé

range(1, 4) génère 1,2,31, 2, 3. On calcule 0+1=10+1=1, puis 1+2=31+2=3, puis 3+3=63+3=6. Le programme affiche 6.

Exercice 5

Écris un programme Python qui utilise une boucle for pour calculer et afficher la somme des carrés des entiers de 11 à 1010 (c'est-à-dire 12+22++1021^2+2^2+\cdots+10^2).

Corrigé

On initialise un accumulateur somme à 00, puis on parcourt chaque entier de 11 à 1010 avec range(1, 11) (borne supérieure exclue), en ajoutant son carré à chaque tour de boucle.

AlphaMath Académie · Boucles et conditions en Python · Algorithmique et programmation en Python