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 1#
É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 12 premiers multiples de 5.
# Écrire le programme ici
Solution
1x = 1
2while x <= 12:
3 print(x * 5)
4 x += 1
Exercice 17#
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 18#
Nous souhaitons créer un programme qui compte le temps avant qu'une bombe explose. Pour cela, un compte à rebours commencera à 10 et ira jusqu'à 1, puis le programme affichera "BOOM".
Écrivez un programme qui correspond à l'algorithme suivant:
Initialiser une variable compte_a_rebours à 10
Tant que compte_a_rebours est plus grand que 0
Afficher La valeur de compte_a_rebours
Retirer 1 à compte_a_rebours
Afficher "BOOM"
Ce programme doit alors afficher:
10
9
8
7
6
5
4
3
2
1
BOOM
# Écrivez le programme ici
Solution
1compte_a_rebours = 10
2while compte_a_rebours > 0:
3 print(compte_a_rebours)
4 compte_a_rebours -= 1
5print("BOOM")
Exercice 19#
É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.
Exemple d'exécution:
Combien y a-t-il de cantons en Suisse?
16
Faux, essaie encore!
27
Faux, 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 nb_cantons = int(input("Faux, essaie encore!"))
4print("Bravo!")
Bonus 1#
Améliorez le programme de l'exercice précédent en indiquant à l'utilisateur s'il y a plus ou moins de cantons en fonction de sa réponse.
Exercice 20#
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 |