WHILE : Comment utiliser cette boucle sur Python ?

-
3
 m de lecture
-

En python, les boucles s’utilisent pour répéter plusieurs fois l’exécution d’une partie d’un programme.

Il existe deux types de boucles :

  • Lorsqu’on sait à l’avance le nombre de répétition du programme : les boucles for
  • Lorsqu’on ne sait pas à l’avance le nombre de répétition programme : les boucles while

Dans cet article, nous parlerons essentiellement des boucles while et de leur utilisation.

Le mot-clé while en anglais signifie tant que. De manière assez intuitive, le ou les blocs d’instructions présents dans une boucle while seront exécutés tant qu’une ou plusieurs conditions seront vérifiées.

Ainsi, lors du passage de la condition, une valeur booléenne en ressortira :

  • True : L’exécution peut passer au bloc d’instructions
  • False : L’exécution du bloc d’instructions ne peut être réalisée. Nous sortons de la boucle.

Nous pouvons représenter le fonctionnement de la boucle à l’aide du schéma suivant :

Fonctionnement d’une boucle while

Comment écrire et utiliser la condition "While" ?

De manière générale, la condition qui est appliquée dans la boucle dépend d’un objet, d’une variable définie en amont et qui sera mise à jour lors du passage dans la boucle.

En effet, si aucun élément inhérent à la condition ne change, cette dernière s’exécutera sans fin. Prenons un exemple de boucle « infinie » :

Dans cet exemple, la valeur du paramètre i ne change pas une fois dans la boucle. Ainsi, lorsque nous allons revenir à la condition imposée, elle sera sans cesse vérifiée. D’où l’importance de faire varier la variable i comme dans l’exemple ci-dessous :

Ce code renvoie la suite de nombres de 0 à 10 élevés au carré.

Comme vous pouvez le remarquer, la variable qui est impliquée dans la condition du while est actualisée lors de son passage dans la boucle. Ici, c’est la variables i qui au départ vaut 0 puis est incrémentée de 1 à chaque passage. Cette incrémentation permet alors de fixer une limite quant à l’exécution de la boucle.

Concentrons-nous à présent sur le ou les blocs d’instructions présents dans la boucle. Ils peuvent varier d’une boucle à l’autre et peuvent faire intervenir d’autres conditions à l’intérieure de la boucle :

  • À l’aide d’une boucle while imbriquée sur la première
  • À l’aide des instructions if/else.

Pour rappel, l’instruction if..else évalue une condition et exécute l’instruction de if uniquement lorsque la condition est vraie. Si la condition est fausse, l’instruction de else est exécutée. L’indentation est utilisée pour séparer les blocs.

Voici un exemple avec les conditions if/else :

Cet exemple renvoie donc les chiffres de 0 à 9 au carré s’ils sont pairs et au cube sinon.

De plus, vous l’aurez compris, tant que votre condition est respectée, votre boucle tourne. Qu’en est -il si l’on veut stopper plus tôt que prévu l’exécution du bloc se trouvant dans la boucle ou encore passer outre une condition qui ne serait pas vérifiée. Pour cela, il existe les instructions break et continue.

Instruction break

Sur cet exemple, tant que la variable sur laquelle est portée notre condition est inférieure ou égale à 6, le bloc d’instructions continue de s’exécuter. Dès que la condition du bloc d’instructions, ici le fait que i soit supérieur strictement à 6, nous sortons de la boucle.

Instruction continue

Sur cet exemple, nous affichons le carré des chiffres de 0 à 9, 5 exclus. Cependant cette exclusion ne bloque pas l’exécution de la boucle grâce à l’instruction continue.

Comment choisir entre la boucle while et la boucle for ?

De manière générale, si l’on connaît le nombre d’itérations que l’on souhaite effectuer dans la boucle, nous privilégions une boucle for. Au contraire, si la décision d’arrêter la boucle ne peut se faire que par un test sur une condition, on choisit une boucle while.

Cependant, il est possible d’effectuer les mêmes opérations que fait une boucle for à l’aide d’une boucle while. Ainsi, toute boucle for peut s’écrire comme une boucle while. L’inverse est faux.

Voici un exemple de boucle for :

Avec son équivalent en while :

Vous êtes arrivé au terme de cet article. Si vous souhaitez en savoir plus sur les boucles while, consultez nos formations afin de voir comment les différents types de boucles peuvent être utilisées en Data Science avec des exemples concrets.

Facebook
Twitter
LinkedIn

DataScientest News

Inscrivez-vous à notre Newsletter pour recevoir nos guides, tutoriels, et les dernières actualités data directement dans votre boîte mail.

Vous souhaitez être alerté des nouveaux contenus en data science et intelligence artificielle ?

Laissez-nous votre e-mail, pour que nous puissions vous envoyer vos nouveaux articles au moment de leur publication !

Newsletter icone
icon newsletter

DataNews

Vous souhaitez recevoir notre
newsletter Data hebdomadaire ?