1. La boucle for
Définition. La boucle for permet de répéter un bloc d’instructions un nombre de
fois déterminé à l’avance. Elle correspond au bloc répéter ... fois de Scratch.
for i in range(5):
print("Bonjour")
Ce programme affiche "Bonjour" exactement fois. La variable i (appelée
compteur) prend successivement les valeurs : range(5) produit
valeurs, en partant de .
📋 Méthode — Utiliser le compteur d'une boucle for
Le compteur i peut être utilisé à l’intérieur de la boucle, par exemple pour afficher une
table de multiplication :
for i in range(1, 11):
print(i, "x 7 =", i * 7)
Ici, range(1, 11) produit les valeurs (le nombre de fin, , n’est
jamais atteint).
Remarque. range(n) produit les valeurs . C’est une source d’erreur
fréquente : range(5) ne va pas jusqu’à , mais s’arrête à .
2. La boucle while
Définition. La boucle while (« tant que ») répète un bloc d’instructions tant
qu’une condition reste vraie. Elle correspond, en Scratch, à
répéter jusqu'à ce que <condition contraire>.
vies = 3
while vies > 0:
print("Il te reste", vies, "vies")
vies = vies - 1
print("Partie terminée")
Différence entre for et while. On utilise for quand le nombre de répétitions est
connu à l’avance (par exemple : « 10 fois »). On utilise while quand ce nombre dépend
d’une condition qui évolue en cours d’exécution, et n’est pas connu au départ.
Attention, boucle infinie. Si la condition d’un while ne devient jamais fausse (par
exemple si on oublie de faire évoluer la variable testée), la boucle ne s’arrête jamais.
Exemple d’erreur à éviter :
vies = 3 while vies > 0: print("Il te reste", vies, "vies") # vies n'est jamais modifiée : boucle infinie !
3. Écrire une fonction
Définition. Une fonction est un bloc d’instructions regroupées sous un nom, que l’on
peut ensuite appeler (exécuter) autant de fois que nécessaire, sans avoir à recopier son
code. En Python, on définit une fonction avec le mot-clé def.
def dire_bonjour():
print("Bonjour !")
print("Bienvenue dans ce programme.")
dire_bonjour()
dire_bonjour()
Ce programme affiche deux fois les deux lignes de la fonction : on dit qu’on appelle la
fonction dire_bonjour() deux fois.
Vocabulaire. La ligne def dire_bonjour(): est la définition de la fonction (elle
ne l’exécute pas encore). La ligne dire_bonjour() est un appel de fonction (elle
exécute le code de la fonction).
4. Paramètres et valeur de retour
Définition. Un paramètre est une variable, placée entre les parenthèses de la définition d’une fonction, qui permet de lui transmettre une information différente à chaque appel.
def dire_bonjour(prenom):
print("Bonjour", prenom, "!")
dire_bonjour("Léo")
dire_bonjour("Nour")
Ce programme affiche "Bonjour Léo !" puis "Bonjour Nour !" : la fonction est la même,
mais le paramètre prenom change à chaque appel.
Définition. L’instruction return permet à une fonction de renvoyer un résultat,
que l’on peut ensuite stocker dans une variable ou réutiliser dans un calcul.
def carre(nombre):
return nombre * nombre
resultat = carre(6)
print(resultat)
Ce programme affiche 36 : la fonction carre calcule le carré du paramètre reçu, et le
renvoie grâce à return.
Remarque. print() affiche une valeur à l’écran mais ne la renvoie pas ; return
renvoie une valeur au programme qui a appelé la fonction, sans forcément l’afficher.
5. Combiner boucles et fonctions
Boucles et fonctions se combinent naturellement : une fonction peut contenir une boucle, et une boucle peut appeler plusieurs fois une fonction.
Exemple. Une fonction qui calcule la somme des premiers entiers, en utilisant une boucle
for:def somme_jusqua(n): total = 0 for i in range(1, n + 1): total = total + i return total print(somme_jusqua(10))Ce programme affiche
55(car ) : la variabletotalaccumule la somme au fil des tours de la bouclefor, puis la fonction la renvoie avecreturn.
📋 Méthode — Construire une fonction avec boucle qui accumule un résultat
- Créer, avant la boucle, une variable qui contiendra le résultat final (souvent initialisée à pour une somme, ou à pour un produit).
- À l’intérieur de la boucle, mettre à jour cette variable à chaque tour.
- Après la boucle (donc sans indentation supplémentaire), utiliser
returnpour renvoyer le résultat final.