Savoir-faire
Savoir programmer des boucles en Python
Prérequis

Dans un programme, si l’on veut répéter plusieurs fois une de ses parties, on utilise une boucle. Dans ce savoir-faire, nous verrons deux boucles du langage Python à travers des exemples simples :

  • la boucle for que nous utiliserons quand nous saurons, dès le début, combien de fois nous voulons la répéter ;
  • la boucle while que nous utiliserons quand le nombre de répétitions dépendra d’une condition.
Etapes

Boucle $\text{for}$

La syntaxe d’une boucle for est la suivante :

for compteur in liste :

Suite d’actions à réaliser

  • À for est associée une variable que nous avons nommée ici compteur. Cette variable prendra successivement toutes les valeurs qui sont données après in.
  • C’est elle qui contrôle le nombre de fois que la boucle sera exécutée.
  • Après cette ligne, nous indiquons la suite d’actions à opérer.
  • Ces actions se répéteront tant que le compteur n’aura pas parcouru l’ensemble des valeurs données.
bannière attention

Attention

Il ne faut pas oublier les deux-points à la fin de la première ligne.
Il faut faire attention à bien indenter les lignes suivantes.

bannière exemple

Exemple

Nous souhaitons afficher les nombres de $0$ à $4$. Nous allons donc opérer de la manière suivante.

  • Nous assignons à une variable liste les valeurs qui nous intéressent :

liste = [0, 1, 2, 3, 4]

  • Nous écrivons l’en-tête de notre boucle, avec la variable i qui parcourra la liste liste :

for i in liste:

  • Nous lui demandons, à chaque fois, d’afficher la valeur de i , sans oublier l’indentation :

print ("i =", i)

  • Le programme complet est donc :

liste = [0, 1, 2, 3, 4]
for i in liste :

print ("i =", i)

  • Le programme nous renvoie :

i = 0
i = 1
i = 2
i = 3
i = 4

bannière astuce

Astuce

Nous pouvons aussi utiliser la fonction range (m,n) qui parcourt les nombres entiers en partant de m, jusqu’à n-1.

  • Si nous n’indiquons pas m , la fonction range partira de $0$.
bannière exemple

Exemple

Dans notre exemple, la boucle devient alors :

for i in range(5):

print ("i =", i)

Boucle $\text{while}$

La syntaxe d’une boucle while est la suivante :

while condition :

Suite d’actions à réaliser

  • À while est associée une condition.
  • La boucle sera interrompue dès que cette condition ne sera plus remplie.
  • Après cette ligne, nous indiquons la suite d’actions à opérer.
  • Ces actions se répéteront tant que la condition sera vraie.
bannière attention

Attention

Il ne faut pas oublier les deux-points à la fin de la première ligne.
Il faut faire attention à bien indenter les lignes suivantes.

bannière exemple

Exemple

Nous nous intéressons à une suite géométrique dont nous connaissons le premier terme et la raison.
Et nous souhaitons programmer une fonction qui renvoie tous ses termes inférieurs ou égaux à un nombre donné.

  • Nous définissons la fonction qui aura pour paramètres le premier terme et la raison de la suite, ainsi que le maximum qui nous intéresse :

def termesGeo(terme, raison, max) :

  • Nous écrivons la condition de notre boucle while qui est de continuer tant que terme est inférieur ou égal à max :

while terme <= max :

  • Nous affichons la valeur de terme puis nous assignons à la même variable la valeur du terme suivant :

print (terme)

terme = terme * raison

  • Nous faisons appel à notre fonction avec une suite géométrique de premier terme égal à $1$ et de raison $3$, pour un maximum égal à $30$.

termesGeo(1, 3, 30)

  • Le programme complet est donc :

def termesGeo(terme, raison, max) :

while terme <= max :

print (terme)

terme = terme * raison

termesGeo(1, 3, 30)

  • Le programme nous renvoie :

1
3
9
27