compte à rebours#

le sujet#

on vous demande d’écrire un programme countdown.py
lorsqu’on le lance avec

python countdown.py

il commence par vous demander de taper le nombre de secondes que vous voulez attendre, et les décompte, et s’arrête une fois arrivé à 0

comment poser une question à l’utilisateur#

pour faire ça on utilise la fonction builtin input()
ça se présente comme ceci

reponse = input("vous avez quel âge ? ")
### ici dans la variable `reponse` on a **une chaine**
print(f"vous avez répondu {reponse}")

ça retourne une chaine

du coup pensez bien à convertir cette réponse en entier !

comment attendre#

pour attendre un certain temps, on utilise en Python la fonction sleep dans le module time
ça se présente comme ceci

import time
# pour attendre une demie-seconde
time.sleep(0.5)

solutions#

une version v0 un peu naïve#

ça fonctionne, mais on ne contrôle pas l’entrée de l’utilisateur: si on entre autre chose qu’un entier positif ça se passe mal

v1: un peu mieux#

cette fois on continue de poser la question jusqu’à ce qu’on reçoive un entier

quelques remarques#

  • dans un premier temps on avait écrit la fonction saisie_entier() et le texte de la question était cablé à l’intérieur;
    mais dans un exercice suivant, on a voulu réutiliser cette fonction, d’où le paramètre

  • il reste un défaut ici; pouvez-vous voir lequel ?