Révisions - Boucle while#
Boucle while#
La boucle while (qui signifie "tant que" en anglais) permet de répéter un bloc d'instructions tant qu'une condition est vraie.
while condition:
instruction 1
instruction 2
...
Programme
nb_points = 0
max = 10
while nb_points < max:
print("Points:", nb_points)
nb_points += 3
print("Bravo!")
Ordinogramme
Exercice 20#
Cochez la bonne réponse.
Qu'affiche le progamme suivant?
1x = 0 2while x < 4: 3 print(x) 4 x += 1
Qu'affiche le progamme suivant?
1x = 0 2while x < 4: 3 x += 1 4 print(x)
Qu'affiche le progamme suivant?
1x = 0 2while x <= 6: 3 print(x) 4 x += 2
Qu'affiche le progamme suivant?
1x = 1 2while x < 6: 3 x += 3 4 print(x)
Qu'affiche le progamme suivant?
1x = 10 2while x >= 4: 3 x -= 2 4 print(x)
Exercice 21#
Écrivez un programme en utilisant la boucle
whilequi affiche les nombres de 0 à 9.
# Écrivez le programme ici
Solution
1x = 0
2while x < 10:
3 print(x)
4 x += 1
Écrivez un programme en utilisant la boucle
whilequi affiche les nombres de 1 à 10.
# Écrivez le programme ici
Solution
1x = 1
2while x <= 10:
3 print(x)
4 x += 1
Écrivez un programme en utilisant la boucle
whilequi affiche les nombres de 1 à 20 en comptant de 4 en 4.
# Écrivez le programme ici
Solution
1x = 1
2while x <= 20:
3 print(x)
4 x += 4
Écrivez un programme en utilisant la boucle
whilequi affiche les 12 premiers multiples de 5.
# Écrire le programme ici
Solution
1x = 1
2while x <= 12:
3 print(x * 5)
4 x += 1
Astuce
Il est possible de répétez les caractères en utilisant *.
print("@" * 6) # répète 6 fois le caractère @
Exercice 22#
Cochez la bonne réponse.
Qu'affiche le progamme suivant?
1x = 1 2while x < 6: 3 print("^" * x) 4 x += 1
Qu'affiche le progamme suivant?
1x = 1 2n = 5 3while x <= 4: 4 print(" _ " * n) 5 print("|_|" * n) 6 x += 1
Qu'affiche le progamme suivant?
1x = 1 2while x <= 4: 3 print(" " * (4-x) + "^" * x) 4 x += 1
Qu'affiche le progamme suivant?
1x = 4 2print("~" * 24) 3while x > 1: 4 x -= 1 5 print("<°)))>< " * x) 6print("~" * 24)
À quel programme correspond le code ci-dessous?
Exercice 23#
Nous voulons créer un programme qui demande à l'utilisateur un nombre strictement positif. Tant que l'utilisateur entre un nombre plus petit ou égal à 0, alors le programme devra lui redemander d'entrer un nouveau nombre.
Écrivez un programme qui correspond à l'algorithme suivant:
Demander un nombre strictement positif à l'utilisateur et le stocker dans la variable n
Tant que n est plus petit ou égal à 0
Afficher "Le nombre doit être strictement positif!"
Demander un nombre positif à l'utilisateur et le stocker dans n
Afficher "Merci"
# Complétez le programme
n = int(input("Entrer un nombre strictement positif: "))
print("Le nombre doit être strictement positif!")
print("Merci")
Solution
1n = int(input("Entrer un nombre strictement positif: "))
2while n <= 0:
3 print("Le nombre doit être strictement positif!")
4 n = int(input("Entrer un nombre strictement positif: "))
5print("Merci")
Exercice 24#
Écrivez un programme qui fait le décompte des 5 dernières secondes avant la nouvelle année.
Ce programme doit alors afficher:
5
4
3
2
1
Bonne année!
# Écrivez le programme ici
Solution
1compte_a_rebours = 5
2while compte_a_rebours > 0:
3 print(compte_a_rebours)
4 compte_a_rebours -= 1
5print("Bonne année!")
Exercice 25#
Écrivez un programme qui demande à l'utilisateur combien il y a de cantons en Suisse. Tant que la réponse n'est pas 26, le programme redemande une nouvelle réponse et indique s'il y en a plus ou moins.
Exemple d'exécution:
Combien y a-t-il de cantons en Suisse?
16
Faux, il y en a plus! Essaie encore.
27
Faux, il y en a moins! Essaie encore.
26
Bravo!
# Écrivez le programme ici
Solution
1nb_cantons = int(input("Combien y a-t-il de cantons en Suisse?"))
2while nb_cantons != 26:
3 if nb_cantons < 26:
4 nb_cantons = int(input("Faux, il y en a plus! Essaie encore."))
5 else:
6 nb_cantons = int(input("Faux, il y en a moins! Essaie encore."))
7print("Bravo!")
Exercice 26#
Indiquez l'ordre d'exécution des lignes et faites le tableau d'états du programme suivant:
1a = 0
2b = 1
3while a < 5:
4 a += 1
5 if a % 2 == 0:
6 b *= 2
7a = 1
8print(a, b)
Solution
L'ordre d'exécution des ligne est le suivant:
1-2-3-4-5-3-4-5-6-3-4-5-3-4-5-6-3-4-5-3-7-8
Instruction |
a |
b |
|---|---|---|
a = 0 |
0 |
- |
b = 1 |
0 |
1 |
a += 1 |
1 |
1 |
a += 1 |
2 |
1 |
b *= 2 |
2 |
2 |
a += 1 |
3 |
2 |
a += 1 |
4 |
2 |
b *= 2 |
4 |
4 |
a += 1 |
5 |
4 |
a = 1 |
1 |
4 |