In [ ]:
from __future__ import division, print_function # Python 3
Parfois, on ne sait pas à l'avance combien de fois on voudra exécuter un bloc d'instructions. Dans ce cas, il vaut mieux utiliser une boucle while
dont la syntaxe est:
In [ ]:
while CONDITION:
INSTRUCTION 1
INSTRUCTION 2
...
INSTRUCTION n
Le bloc d'instruction est exécuté (au complet) tant que la condition est satisfaite. La condition est testée avant l'exécution du bloc, mais pas pendant. C'est donc toutes les instructions du bloc qui sont exécutées si la condition est vraie. Par exemple, on peut afficher les puissances de 5 inférieures à un million avec une boucle while
:
In [ ]:
a = 1
while a < 1000000:
Out[ ]:
L'exemple suivant est un autre exemple typique de la boucle tant que. Il consiste à rechercher, pour un nombre $x\geq1$, l'unique valeur entière $n$ vérifiant $2^{n−1}< x < 2^n$, c’est-à-dire le plus petit entier vérifiant $x < 2^n$.
In [ ]:
x = 10**4
u = 1
n = 0
while u <= x:
Out[ ]:
In [ ]:
n
Out[ ]:
On vérifie bien que $2^13 < 10^4 < 2^14$ :
In [ ]:
2 ** 13
Out[ ]:
In [ ]:
2 ** 14
Out[ ]:
In [ ]:
2**13 < 10**4 < 2**14
Out[ ]:
In [ ]:
for i in range(10):
Out[ ]:
On remarque que les valeurs plus grandes que 4 n'ont pas été imprimées par la fonction print
.
La commande continue
permet de continuer le parcours d'une boucle à la valeur suivante:
In [ ]:
for i in range(10):
Out[ ]:
On remarque que la valeur 5 n'a pas été imprimée par la fonction print
.
NOTE: Certains auteurs recommandent d'éviter l'utilisation des intructions continue
et des break
, car elles sont évitables et leur utilisation produit des programmes moins bien structurés.