Décollage imminent
Dans cette leçon tu vas simuler le décompte avant le lancement d'une fusée.
- 1
Écris une boucle for qui affiche successivement les nombres de la séquence 5, 4, 3, 2, et 1 inclus.
Solution
Il nous faut un pas négatif pour le décompte. Donc le troisième argument de
range
est -1. De plus, pour que la séquence aille de 5 à 1 inclus, le premier argument est 5 et le deuxième est 0. Il faut donc appelerrange(5, 0, -1)
Ensuite pour chaque valeur
i
de cette séquence, on affichei
dans la console à l'aide deprint
for i in range(5, 0, -1): print(i)
- 2
Dans les leçons précédentes nous avons utilisé la variable
i
dans les boucles for commefor i in range(10)
. Mais tu peux utiliser le nom de variable que tu veux à cet endroit :i
,n
,k
,prix
etc. En général on adapte suivant le contexte pour rendre le code plus lisible.Change le nom de la variable de la boucle for et utilise une variable nommée
seconde
à la place pour faire référence au temps qu'il reste. Ce changement implique plusieurs modifications.Solution
Il faut remplacer
i
parseconde
partout, donc leprint(i)
devientprint(seconde)
for seconde in range(5, 0, -1): print(seconde)
- 3
On va modifier le
print
pour afficher des messages sur le modèle suivant :Décollage dans ****
Utilise une f-string pour remplacer les astérisques par la bonne valeur. Les messages doit correspondre au décompte :
Décollage dans 5 Décollage dans 4 Décollage dans 3 Décollage dans 2 Décollage dans 1
Solution
On utilise une f-string qui référence la variable
seconde
. À chaque itération de la boucle for la valeur deseconde
change et le message sera différent.for seconde in range(5, 0, -1): print(f"Décollage dans {seconde}")
- 4
Pour finir affiche le message
Décollage !
lorsque le décompte est terminé. Ce message ne doit apparaître qu'une seule fois.Solution
Il faut utiliser une dernière instruction
print
après la boucle for pour que le message final n'apparaisse qu'une fois le décompte terminé.En plaçant le
print
à la ligne 4 sans indentation, le message ne fait pas parti de la boucle for.for seconde in range(5, 0, -1): print(f"Décollage dans {seconde}") print("Décollage !")