Boucles conditionnées while⚓︎
Une alternative à l'instruction for couramment utilisée en informatique est la boucle while. Avec ce type de boucle, une série d'instructions est exécutée tant qu'une condition est vraie.
syntaxe d'une boucle conditionnée
L'instruction while ... : ... permet d'exécuter un bloc indenté tant qu'une condition est vraie :
Important
Cliquez sur les + et prenez le temps de lire les commentaires !
| syntaxe d'une boucle finie | |
|---|---|
1 2 3 4 5 6 | |
Les
:sont obligatoires aprèsif,elif,else,foretwhilebloc indenté exécuté tant que la condition
<test>==Trueexécutée lorsque
<test>==False
Example 1
- Exécuter le script ci-dessous.
- Modifier la ligne 2 pour que la boucle s'arrète lorsque \(n=2\).
Solution
Pour une sortie de boucle lorsque \(n\geqslant2\) il faut poursuivre tant que \(n>2\).
Example 2
La racine carrée entière d'un entier naturel \(n\) est le plus grand entier inférieur à \(\sqrt{n}\).
isqrt(10)=3, car \(3^2\leqslant 10 < 4^2\).isqrt(25)=5, car \(5^2\leqslant 25 < 6^2\).
La fonction isqrt() prend pour paramètre n et renvoie sa racine carrée entière.
Corriger les 2 erreurs de ce script et valider votre réponse.
# Tests (insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)
Example 3
Analyser le script ci-dessus et déterminer ce qui est affiché.
| 🐍 Script Python | |
|---|---|
1 2 3 4 | |
Solution
n |
1 | 2 | 3 | 4 | 5 | 6 |
|---|---|---|---|---|---|---|
1.15**n |
1.15 |
1.3224999999999998 |
1.5208749999999998 |
1.7490062499999994 |
2.0113571874999994 |
2.313060765624999 |
Lorsque \(n=5\), la condition de la boucle est fausse, et elle s'arrète.
Le script affiche la valeur \(5\), c'est le plus petit entier tel que \(1.15^n\geqslant 2\).
QCM⚓︎
Je vérifie ma compréhension (bouton en bas pour recommencer)
-
Analyser le script ci-dessus et déterminer ce qui est affiché :
🐍 Script Python 1 2 3 4
n=1 while 1.11**n < 2 : n = n+1 print(n)- Tous les entiers tels que \(1.11^{n}<2\)
- Le plus grand entier \(n\) tel que \(1.11^{n}\geqslant 2\)
- Le plus petit entier \(n\) tel que \(1.11^{n}\geqslant 2\)
- Rien car il ne s'arrête pas
-
Analyser le script ci-dessus et déterminer ce qui est affiché :
🐍 Script Python 1 2 3 4
n=1 while 1.17**n<2: n = n+1 print(n)- Rien car il ne s'arrête pas
- Le plus grand entier \(n\) tel que \(1.17^{n}\geqslant 2\)
- 2.192448
- 5
-
Analyser le script ci-dessus et déterminer ce qui est affiché :
🐍 Script Python 1 2 3 4
n=1 while 0.88**n>0.5: n = n+1 print(n)- Rien car il ne s'arrête pas
- Le plus grand entier \(n\) tel que \(0.88^{n}> 0.5\)
- 6
- 5
-
Analyser le script ci-dessus et déterminer ce qui est affiché :
🐍 Script Python 1 2 3 4
n=1 while 0.85**n>0.5: n = n+1 print(n)- 0.44370531
- 4
- Le plus petit entier \(n\) tel que \(0.85^n \leqslant 0.5\)
- Le plus grand entier \(n\) tel que \(0.85^n > 0.5\)
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)