top of page

Chapitre 2 :  Python, « Structures Itératives », boucles bornées « for »

Python-logo-notext.svg.png

1. Boucle bornée

Dans un programme, on a souvent besoin de répéter plusieurs fois la même instruction (ou séquence d'instructions). On suppose dans ce chapitre que l'on sait à l'avance combien de fois on va devoir répéter la séquence d'instructions. La boucle for (ou boucle bornée) permet de répondre à ce besoin. Le programme ci-dessous est un exemple simple d'utilisation de la boucle « for ».


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


On répète ici 5 fois l'instruction print("Bonjour"). Le bloc d'instructions à répéter doit être indenté, c'est-à-dire décalé de
quelques espaces vers la droite ou d’une tabulation. La variable i , de type integer, est l’itérateur de boucle (ou variable de boucle ou compteur de boucle). On peut lui donner le nom que l'on veut (i, j, compteur, nombre, ...).

Remarque : Si l’itérateur n’est pas utilisé dans la boucle on peut le remplacer par ‘_’ tiré du 8, ou ‘underscore’(en anglais). Exemple :


for _ in range (3):
    print('Je répète 3 fois')


Important : on utilise une boucle « for » seulement si on connaît le nombre de tours que doit effectuer la boucle.

2. Range et utilisation de l’itérateur

Pour utiliser une boucle « for » en Python on utilisera aussi la fonction « in range ». Cette fonction donne les valeurs que parcourra l’itérateur (i). Il y a 3 manières d’utiliser la fonction « in range »:
    • in range (7)les valeurs parcourues sont {0, 1, 2, 3, 4, 5, 6}, 7 est la borne d’arrivée et est exclue, la borne de départ est implicite, c’est 0.
    • in range (1,6)permet de définir la borne de départ, les valeurs parcourues sont {1, 2, 3, 4, 5}.
    • in range (1,9,2)permet de définir en plus le « pas » (step en anglais), c’est-à-dire l’écart entre deux valeurs. Ici, le pas est 2, la borne de départ est 1, la borne d’arrivée (exclue) est 9. Les valeurs parcourues sont donc {1, 3, 5, 7}

On ne parle pas de borne minimale et maximale car les valeurs peuvent être parcourues de manière décroissante, si on définie un pas négatif. Attention, le pas (step) doit être un entier (integer).
Cet variable itérateur peut être utilisée dans le bloc d’instruction à répéter. Le programme suivant afficher les nombres entiers de 0 à 9 ainsi que la valeur de l’itérateur en sortie de boucle : 9.


for i in range(10):
    print(i)
print(i)

3. Notion d’accumulateur

Le compteur de boucle permet de mettre en place un accumulateur, c'est-à-dire une variable qui est utilisée pour stocker les différents résultats successifs d'un calcul qui évolue progressivement à chaque tour de boucle. La variable qui sert d'accumulateur doit être initialisée avant la boucle. 

Exemple : calcul de la somme des entiers de 1 à 100


somme = 0
for i in range(1, 101):
    somme = somme + i
print(somme)


La variable somme sert d’accumulateur, à chaque tour de boucle on ajoute à sa valeur courante la valeur courante de l’itérateur. On affiche donc la somme des entiers de 1 à 100.

Résume du chapitre 2:

Boucle "for"

for i in range(2,12,3):   

     print(i)

 

i c'est l'itérateurpar définition de type 'integer'

2 c'est la borne de départ (0 par défault, incluse dans la boucle)

12 c'est la borne d'arrivée (excluse de la boucle)
3 c'est le pas ('step'en anglais,+1 par défault, positif ou négatif)

Les trois valeurs de la fonction 'in range' sont par définition de type 'integer'

​variable = 0
for i in range(1,5) :
    variable = variable * 10 + i
print(variable)

La variable "variable" sert d’accumulateur, à chaque tour de boucle on multiplie par 10 et on ajoute à sa valeur courante la valeur courante de l’itérateur. On affiche donc la valeur 1234.

Exercices à faire à la maison:

Cette année, nous travaillerons pour les devoirs avec le site : https://basthon.fr Ce site vous permettra d’écrire et d’exécuter des programmes Python 3 dans un ‘bac à sable’.


Exercice 1 : Quelle sera la valeur de la variable c à la fin du programme ci-dessous ?

a = 0
b = 6
for i in range(10):   
    a = a + 1
    b = b + 7
    c = a * b
    print(i,a,b,c)


Exercice 2 :  Analyser le programme ci-dessous pour en comprendre le fonctionnement.

produit = 0
for i in range(7):
    produit = produit + 9
    print(produit)


Exercice 3 : S’inspirer du programme précédent pour écrire un programme permettant de calculer 3**9 en n’utilisant que des multiplications (interdiction donc d’utiliser **).

Exercice 4 : Exécuter les programmes ci-dessous avec différentes boucles. Est-ce qu’il y a des erreurs ? Donner le nom de l’itérateur, les valeurs imprimées dans l’ordre, ainsi que le nombre de tours effectués par la boucle.

for _ in range (7):
    print(_)

for k in range (-2,4):
    print(k)

for v in range (17,5,-3):
    print(v)

for j in range(7,5,-1.5):
    print(j)


Exercice 5 : Exécuter les programmes ci-dessous. Quel va être de résultat des fonctions « print » ? Est-ce qu’il y a des erreurs ? Expliquer les résultats. 

for j in range(18,3,-5):
    print(j*2)

a=0
for j in range(0,170):
    a=a*j+1
print(j)

s=0
for i in range(6):
    s=s+i
print(i,s)

somme=0
for _ in range(5):
    a=int(input('entrer un entier'))
    somme+=a
    print(a)
print(somme)


Exercice 6 : Compléter le corps de la fonction suivante qui affiche la suite de nombres suivante : 1 ; 2 ; 4 ; 8 ; 16 ; 32   

for i in range(...) :
    nombre = 2**...
    print(nombre)


Exercice 7 : Voici le squelette d’un programme, compléter le de manière à ce qu’il simule le lancer de 1000 dés et qu’il affiche la moyenne des résultats obtenus. :

import random
somme = 0
for i in range(...) :
    somme = somme + ...
moyenne = ...
print(moyenne)

Exercices de révision Python Chapitre 2, suite au TP 2 sur CAPYTALE

© 2026 TECHNOLOGIE - RODAT

bottom of page