On va aborder l'opérateur while
. Il revient à dire en francais "tant que". Ainsi, on va pouvoir lui demander "tant que tu n'as pas trouvé, continue de chercher". Le plus compliqué maintenant va etre de bien expliquer ce qu'il doit chercher. Pour le while
de python, il faut lui donner une condition qui retournera True
(vrai) ou False
(faux) et tant que la condition est vrai, il continuera sa boucle.
Pour nous entrainer on va lui demander de trouver le plus petit diviseur d'un nombre.
Voici quelques conseils:
- On rappelle que
d
divisen
si et seulement sin % d
vaut 0. - La mauvaise idée est d’utiliser une boucle « pour
d
variant de 2 àn
». En effet, si par exemple on sait que 7 est diviseur de 91 cela ne sert à rien de tester si 8, 9, 10 . . . sont aussi des diviseurs car on a déjà trouvé le plus petit. - La bonne idée est d’utiliser une boucle « tant que » ! Le principe est : « tant que je n’ai pas obtenu mon diviseur, je continue de chercher ». (Et donc, dès que je l’ai trouvé, j’arrête de chercher.)
- En pratique voici les grandes lignes :
— Commence avec d
= 2.
— Tant que d
ne divise pas n
alors, passe au candidat suivant (d
devient d
+ 1).
— À la fin d
est le plus petit diviseur de n
(dans le pire des cas d = n
).