Les boucles "TANT QUE"
Une boucle sert à répéter une action. Rappelons brièvement la principale différence entre une boucle "pour" et une boucle "tant que" :
- Avec une boucle "pour", on connaît à l'avance le nombre de répétitions de l'action à exécuter.
- Avec une boucle "tant que", le nombre de répétitions est conditionné par l'évolution de l'état de certaines variables du programme.
Un premier exemple
La table de multiplication du 8.
k=1
Tant que k < 11 :
afficher k*8
incrémenter k d'une unité
k = 1
while k < 11 :
print(" {} * 8 = {}".format(k,k*8) )
k+=1
Tout programme pouvant s'écrire avec une boucle for peut également s'écrire avec une boucle while. Dans un cas comme le
précédent, il est toutefois clair qu'une boucle for
est plus appropriée.
L'indentation après la ligne while ... :
est obligatoire (et automatique avec un éditeur adapté) :
elle permet de délimiter la portée du while
. C'est le principe déjà vu avec for
ou avec if
.
L'affichage obtenu :
1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64 9 * 8 = 72 10 * 8 = 80
Un second exemple
Déterminer le plus petit entier naturel n tel que la somme S=1+2+3+...+n soit strictement supérieure à 10000.
s = 0
n = 0
while s <= 10000 :
n += 1
s += n
print(n)
On obtient :
141