4 : Les boucles bornées (for)

Objectifs

  • Comprendre l’utilité d’une boucle
  • Savoir utiliser la boucle for
  • Utiliser la fonction range() pour contrôler le nombre de répétitions
  • Réaliser des scripts simples avec répétition

I. Introduction : Pourquoi une boucle ?

Quand on veut répéter une action plusieurs fois, on peut bien sûr copier-coller le code… mais ce n’est pas efficace.

Exemple sans boucle :

print("Bonjour")
print("Bonjour")
print("Bonjour")

Exemple avec boucle :

for i in range(3):
    print("Bonjour")

On gagne du temps, de la clarté, et on peut facilement changer le nombre de répétitions.


II. Structure de base d’une boucle for

for i in range(n):
    # instructions répétées
  • i est une variable de boucle (souvent i ou j, mais ce peut être un autre nom).
  • range(n) permet de répéter n fois, de 0 à n-1.
  • Les instructions répétées sont indentées.

III. Exemple simple : compter de 0 à 4

for i in range(5):
    print("i vaut", i)

Résultat dans la console :

i vaut 0
i vaut 1
i vaut 2
i vaut 3
i vaut 4

IV. Utiliser range(debut, fin)

for i in range(1, 6):
    print(i)

Résultat :

1
2
3
4
5

Remarque : la fin n’est jamais incluse.


V. Exemple avec un calcul dans la boucle

for i in range(1, 6):
    carre = i * i
    print("Le carré de", i, "est", carre)

VI. Activité guidée

Objectif : afficher les 10 premières puissances de 2

for i in range(11):
    print("2 puissance", i, "=", 2 ** i)

VII. Exercices élèves

Exercice 1 : Compter jusqu’à 10

Affiche les nombres de 1 à 10 (inclus).


Exercice 2 : Table de multiplication

Demander un nombre à l’utilisateur, puis afficher sa table de multiplication (jusqu’à 10).


Exercice 3 : Compter à rebours

Affiche un compte à rebours de 10 à 1, puis affiche "Décollage !".

Astuce : utiliser range(10, 0, -1).


Exercice 4 : Afficher uniquement les nombres pairs de 2 à 20


VIII. Pour aller plus loin (facultatif)

Afficher un motif avec des étoiles * en fonction d’un nombre demandé à l’utilisateur.

Exemple si l’utilisateur entre 5 :

*
**
***
****
*****