Les boucles en python
Les boucles permetent de répéter une instruction ( ou une liste d’instructions ) plusieurs fois.
Il y a principalement deux types de boucles
- Les boucles pour répéter une instruction un certain nombre de fois, il s’agit de la boucle
for
- Les boucles pour répéter une instruction jusqu’a une condition d’arret, il s’agit des boucles
while
Boucle for
Les boucles for
permettent de répéter une instruction un nombre donné de fois. Elle se caractérisent par le fait que l’on connait à l’avance le nombre d’itérations que l’on va devoir effectuer.
|
|
Affichage après exécution :
|
|
L’instruction for
est une instruction composée, c’est-à-dire une instruction dont l’en-tête se termine par deux-points :
, suivie d’un bloc indenté qui constitue le corps de la boucle. On dit que l’on réalise une itération de la boucle à chaque fois que le corps de la boucle est exécuté. Dans l’en-tête de la boucle, on précise après le mot-clé for le nom d’une variable (i dans l’exemple ci-dessus) qui prendra successivement toutes les valeurs qui sont données après le mot-clé in.
Pour parcourir les indices d’une liste, il est possible de combiner range() et len() comme ci-dessous:
|
|
Affichage après exécution :
|
|
Rappel : La fonction len()
renvoie le nombre d’éléments :
|
|
Dans l’exemple suivant, nous allons illustrer que la variable indiquée après for
parcourt toutes les valeurs de la liste donnée après in
:
|
|
Boucle while
Les boucles tant que permettent d’effectuer des itérations tant qu’une certaine condition est verifiée. On ne connait pas le nombre d’itérations à effectuer, mais à chaque itération, on vérifie si la condition est vraie ou fausse. Sès que cette condition est fausse, on sort de la boucle.
Syntaxe :
|
|
Exemple de programme :
|
|
Affichage après exécution :
|
|
Le mot-clé while
signifie tant que en anglais. Le corps de la boucle (c’est-à-dire le bloc d’instructions indentées) sera répété tant que la condition est vraie. Dans l’exemple ci-dessus, x sera multiplié par 2 tant que sa valeur reste inférieure à 10.
Remarque: Si la condition est fausse au départ, le corps de la boucle n’est jamais exécuté. Si la condition reste toujours vraie, alors le corps de la boucle est répété indéfiniment.
Comment choisir entre boucle for et boucle while
En général, si on connaît avant de démarrer la boucle le nombre d’itérations à exécuter, on choisit une boucle for
. Au contraire, si la décision d’arrêter la boucle ne peut se faire que par un test, on choisit une boucle while
. Par contre, il est toujours possible de remplacer une boucle for par une boucle while.
Transformation d’une boucle for en un boucle while
|
|
Le programme ci-dessus est équivalent à:
|
|
Les instructions break et continue, et la clause else dans les boucles
L’instruction break
L’instruction break
permet de “casser” l’exécution d’une boucle (while ou for). Elle fait sortir de la boucle et passer à l’instruction suivante.
Exemple
|
|
Affichage après exécution :
|
|
Dans le cas de boucles imbriquées, l’instruction break
ne fait sortir que de la boucle la plus interne.
L’instuction do…while (faire…tant que)
Dans de nombreux langages, il existe une instruction do...while
qui permet de créer une boucle pour laquelle on ne connaît pas à l’avance le nombre de répétition, mais qui doit s’exécuter au moins une fois. Cette instruction n’existe pas en Python, mais on peut facilement reproduire son fonctionnement de la façon suivante :
|
|
L’instruction continue
L’instruction continue
permet de passer prématurément au tour de boucle suivant. Elle fait continuer sur la prochaine itération de la boucle.
Exemple
|
|
Affichage après exécution :
|
|
La clause else dans une boucle
Les instructions de boucle ont une clause else. Elle est exécutée lorsque la boucle se termine par épuisement de la liste (avec for
) ou quand la condition devient fausse (avec while
), mais pas quand la boucle est interrompue par une instruction break. Ceci est illustré dans la boucle suivante, qui recherche des nombres premiers :
|
|
Affichage après exécution :
|
|
Articles Similaires
Ubuntu 24.04 LTS - Une version qui fait débat entre déception et enthousiasme
Ubuntu 24.04 LTS, “Noble Numbat”, a récemment été déployée, apportant son lot de nouveautés et de changements. Cette version suscite à la fois de l’enthousiasme et de la déception au sein de la communauté des utilisateurs et des développeurs. Déception et colère face à la gestion des paquets DEB Plusieurs utilisateur d’Ubuntu ont exprimé leur déception et colère face à la décision de Canonical, la société mère d’ Ubuntu, de favoriser les paquets Snap au détriment des paquets DEB.
Lire la SuiteLe concours de beauté Miss AI : un cauchemar dystopique ou le futur de la beauté ?
Dans un monde où la technologie et la beauté fusionnent, le concours de beauté Miss AI fait son apparition. Ce concours, organisé par The World AI Creator Awards, récompense les créateurs d’images et d’influenceurs générés par intelligence artificielle (IA). Mais qu’est-ce que cela signifie pour les standards de beauté et les femmes ? Le concours Miss AI est ouvert aux créateurs d’images et d’influenceurs générés par IA qui souhaitent montrer leur charme et leur compétence technique.
Lire la SuiteLe gouvernement du Salvador prend un coup dur : les hackers divulguent le code source et les accès VPN du portefeuille bitcoin national Chivo !
Le programme bitcoin du gouvernement du Salvador, Chivo, a été victime d’une série d’attaques informatiques ces derniers jours. Les hackers ont déjà divulgué les données personnelles de plus de 5 millions de Salvadoriens. Maintenant, les mêmes pirates informatiques ont publié des extraits du code source et des informations d’accès VPN du portefeuille bitcoin national Chivo sur un forum de hacking en ligne, CiberInteligenciaSV. Ceci est un coup dur pour El Salvador, qui lutte pour être un pionnier dans l’adoption du bitcoin.
Lire la Suite