Miamondo "dieu n'a pas voulu autre chose que la liberté" (commandant massoud)
http://miamondo.e-monsite.com

4 - Les boucles

Dans un programme, il est parfois nécessaire de répéter une instruction un certain nombre de fois. Pour cela, on utilise des boucles.

La boucle while

Prenons un exemple concret : une punition qu'un écolier doit recopier deux cents fois. Il y a quarante ans, le pauvre cancre pris par la patrouille devait patiemment recopier la phrase qui lui permettait d'expier sa faute:

"Je ne collerai plus mon vieux chewing-gum sous mon pupitre"

Aujourd'hui, ce genre de punition est une formalité pour celui qui maîtrise les boucles et en Python, pour en créer une, on utilise le mot-clé while. Cela signifie Tant que... C'est à dire Tant que la condition est vraie, exécute cette instruction.

 

 #!/usr/bin/env python3

 # -*- coding: utf8 -*-

 chaine = "Je ne copierai plus sur mon voisin.\n"   # Phrase à recopier

 i = 1    # Variable d'incrémentation  

 while i <= 10:    # Tant que i est inférieur ou égal à 10:

     print (i, chaine) 

     i += 1    # Incrémentation de la variable (i = i + 1)

# Lorsque i vaut 10, la boucle s'interrompt.

 

 

Je l'exécute dans un terminal interactif idle3.

 

Boucle 1

 

Il faut prévoir un moyen d'interrompre la boucle après un nombre défini d'itérations sous peine de créer une boucle infinie qui finirait par épuiser les ressources mémoire de votre ordinateur. Pour cela, on déclare une variable souvent nommée i (par convention) que l'on incrémente à chaque tour de boucle, c'est-à dire à laquelle on ajoute la valeur 1 à chaque tour de boucle (i += 1) . Quand la valeur contenue dans la variable i est égale à la condition définie en début de boucle (dans notre exemple, c'est la ligne 9 : tant que i est inférieur ou égal à 10), alors la boucle s'interrompt.

Voici un exemple de boucle infinie. La condition est toujours vraie, la boucle ne s'interrompt jamais. Le seul moyen de l'interrompre avant qu'elle ne dévore toute la mémoire de votre ordinateur, tel un trou noir digital, est de presser les touches ctrl + C.

 

 #!/usr/bin/env python3

 # -*- coding: utf8 -*-

 line_number = 0 

 while 3 < 4 : # Tant que 3 est inférieur à 4 (C'est toujours vrai!)

     line_number += 1 

     print(line_number, "Je viens de créer une boucle infinie.\n")  

 # Rien n'est prévu pour sortir de la boucle.

 

J'interromps la boucle après 1062 itérations :

 

Boucle 10

La boucle for

Il existe une autre manière de créer une boucle, en utilisant les mots-clés for... in range. Comme je l'écris en commentaire, il est inutile d'incrémenter la variable i, la boucle for s'en charge.

 

 #!/usr/bin/env python3

 # -*- coding: utf8 -*-

 for i in range(1, 51): 

     print(i, "Je dois recopier 50 fois cette phrase.") 

 # Il est inutile d'incrémenter la variable i. La boucle for s'en charge.

 


Parcourir une liste

Avec for, il est possible de parcourir une liste pour, par exemple, en extraire les élements.

Avec for... in

 

 #!/usr/bin/env python3

 # -*- coding: utf8 -*-

 liste_fruits = ["pommes", "poires", "oranges"] 

 for fruit in liste_fruits: 

     print(fruit)

 

pommes

poires

oranges

 

Avec for... in enumerate

 

 #!/usr/bin/env python3

 # -*- coding: utf8 -*-

 liste_fruits = ["pommes", "poires", "oranges"] 

 for i, fruit in enumerate(liste_fruits): 

     print(i + 1, fruit)

 

1 pommes

2 poires

3 oranges

Date de dernière mise à jour : 04/03/2020

  • Aucune note. Soyez le premier à attribuer une note !

Ajouter un commentaire