Les boucles while peuvent avoir des conditions qui sont toujours satisfaites. Ces programmes vont conduire à une boucle infinie et fonctionner indéfiniment. Un bon exemple de ce type de programme est while True :
while True:
print('Welcome to an infinite loop!')
Ce programme fonctionnera indéfiniment et affichera Welcome to an infinite loop! jusqu'à ce qu'il soit arrêté par l'utilisateur.
Les boucles while peuvent être utilisées pour lire des données jusqu'à ce qu'une certaine condition soit remplie. Par exemple, nous pouvons lire les données de l'entrée tant que l'entrée n'est pas 0. Dès que l'utilisateur saisit un 0 et appuie sur Entrée, la boucle while doit se terminer. Cela peut être implémenté ainsi :
num = -1
while num != 0:
num = int(input())
print(f'The user entered: {num}')
print('End!')
Ce programme lira les entrées tant que l'utilisateur n'a pas saisi 0, et dès que l'utilisateur entre 0, il sortira de la boucle et affichera End!.
Nous pouvons même lire le num au préalable, puis démarrer la boucle :
num = int(input())
while num != 0:
print(f'The user entered: {num}')
num = int(input())
print('End!')
De cette manière, le programme n'affichera pas le dernier 0 puisqu'il sortira de la boucle avant cela.
Vous pouvez essayer vous-même pour vous familiariser avec ces deux méthodes.
Défi
Écrivez un programme qui lit l'entrée jusqu'à atteindre le mot End et affiche le texte saisi en sortie. Dès que le programme atteint le mot End, il doit s'arrêter. Le programme ne doit pas afficher le dernier End de l'entrée.