Comment créer un programme de compte à rebours en Python?

Pour exécuter réellement le code de compte à rebours, appelez la fonction countdown () avec le nombre de secondes que l'utilisateur a entré: compte à rebours (secondes).
Cet article vous montrera comment créer un programme de compte à rebours simple avec le langage de programmation Python. C'est un bon exercice pour un débutant qui souhaite en savoir plus sur les boucles while et les modules. Cependant, vous devriez déjà avoir une certaine familiarité avec les concepts de base de Python tels que les variables pour le comprendre.
Vous devez également avoir Python 3 installé. Si vous ne l'avez pas encore fait, avant de continuer, suivez les instructions de Comment installer python.
- 1Ouvrez votre éditeur de texte ou IDE. Sous Windows, l'option la plus simple consiste à utiliser IDLE, qui est installé avec Python.
- 2Ouvrez un nouveau fichier. Dans de nombreux éditeurs de texte, vous pouvez le faire en allant dans le menu Fichier et en cliquant sur Nouvelle fenêtre ou en appuyant simplement sur Ctrl+ N.
- 3Importez le
time
module. Letime
contient de nombreuses fonctions Python liées au temps, par exemple obtenir l'heure actuelle ou attendre un laps de temps spécifié (ce dernier est ce dont vous aurez besoin pour ce programme). Pour importer le module, tapez:temps d'importation
Cet article vous montrera comment créer un programme de compte à rebours simple avec le langage de programmation Python. - 4Définissez une fonction de compte à rebours. Vous pouvez donner à la fonction le nom de votre choix, mais vous devez généralement utiliser quelque chose de descriptif. Dans ce cas, vous pouvez le nommer countdown(). Ajoutez le code suivant:
compte à rebours def (t):
- 5Écrivez une boucle while. Une boucle while répète le code à l'intérieur tant que sa condition est vraie. Dans ce cas, vous voulez que le compte à rebours continue jusqu'à ce que le nombre atteigne 0. Vous devez donc écrire:
tandis que t> 0:
- Remarquez les espaces au début de la ligne. Ceux-ci indiquent à Python que cette ligne de code fait partie de la définition de la
countdown
fonction, et pas seulement du code en dessous. Vous pouvez utiliser n'importe quel nombre d'espaces, mais vous devez utiliser le même montant avant toute ligne que vous souhaitez mettre en retrait une fois. - Vous devrez indenter deux fois les lignes de code suivantes, car elles font à la fois partie de la définition de la fonction et de la boucle while. Cela se fait en utilisant deux fois plus d'espaces.
- Remarquez les espaces au début de la ligne. Ceux-ci indiquent à Python que cette ligne de code fait partie de la définition de la
- 6Imprimez le numéro actuel. Cela ne signifie pas utiliser une imprimante pour l'obtenir sur papier, «impression» est un mot qui signifie «affichage à l'écran». Cela vous permettra de voir dans quelle mesure le compte à rebours a progressé.
imprimer (t)
- 7Compte à rebours le nombre. Faites-en 1 de moins. Cela se fait avec le code suivant:
t = t - 1
Sinon, si vous ne voulez pas trop taper, vous pouvez écrire à la place:t - = 1
- 8Faites attendre le programme une seconde. Sinon, le compte à rebours serait trop rapide et le compte à rebours serait terminé avant même que vous ne puissiez le lire. Pour attendre une seconde, utilisez la
sleep
fonction dutime
module que vous aviez précédemment importé:time.sleep (1)
- 9Faites quelque chose lorsque le compte à rebours atteint zéro. Pour imprimer "BLAST OFF!" lorsque le compte à rebours atteint zéro, ajoutez cette ligne:
print ("BLAST OFF!")
- Notez que cette ligne n'est indentée qu'une seule fois. C'est parce qu'il ne fait plus partie de la boucle while. Ce code n'est exécuté qu'après la fin de la boucle while.
Ceux-ci indiquent à Python que cette ligne de code fait partie de la définition de la fonction de compte à rebours, et pas seulement du code en dessous. - 10Demandez à l'utilisateur à partir de quel numéro démarrer le compte à rebours. Cela donnera à votre programme une certaine flexibilité, au lieu de toujours compter à partir du même nombre.
- Imprimez la question à l'utilisateur. Ils ont besoin de savoir dans quoi ils sont censés entrer.
print ("Combien de secondes faut-il compter à rebours? Entrez un entier:")
- Obtenez la réponse. Stockez la réponse dans une variable afin de pouvoir en faire quelque chose plus tard.
secondes = entrée ()
- Bien que la réponse de l'utilisateur ne soit pas un entier, demandez à l'utilisateur un autre entier. Vous pouvez le faire avec une boucle while. Si la première réponse est déjà un entier, le programme n'entrera pas dans la boucle et passera simplement au code suivant.
while not secondss.isdigit (): print ("Ce n'était pas un entier! Entrez un entier:") seconds = input ()
- Vous pouvez maintenant être sûr que l'utilisateur a entré un entier. Cependant, il est toujours stocké dans une chaîne (
input()
renvoie toujours une chaîne, car il ne peut pas savoir si l'utilisateur entrera du texte ou des nombres). Vous devez le convertir en entier:seconds = int (secondes)
Si vous aviez essayé de convertir une chaîne dont le contenu n'est pas un entier en entier, vous obtiendriez une erreur. C'est la raison pour laquelle le programme a vérifié si la réponse était en fait un entier en premier.
- Imprimez la question à l'utilisateur. Ils ont besoin de savoir dans quoi ils sont censés entrer.
- 11Appelez la
countdown()
fonction. Vous l'aviez précédemment défini, mais définir une fonction ne fait pas ce qui est écrit à l'intérieur. Pour exécuter réellement le code de compte à rebours, appelez lacountdown()
fonction avec le nombre de secondes que l'utilisateur a entré:compte à rebours (secondes)
- 12Vérifiez votre code fini. Ça devrait ressembler à ça:
import time def countdown (t): while t> 0: print (t) t - = 1 time.sleep (1) print ("BLAST OFF!") print ("Combien de secondes compte à rebours? Entrez un entier:") seconds = input () while not seconds.isdigit (): print ("Ce n'était pas un entier! Entrez un entier:") seconds = input () seconds = int (seconds) countdown (seconds)
- Les lignes vides ne sont là que pour rendre le code plus facile à lire. Ils ne sont pas obligatoires et Python les ignore en fait.
- Vous pouvez écrire à la t = t - 1 place de t -= 1 si vous préférez.
Lisez aussi: Comment devenir un hacker de logiciels libres?
Questions et réponses
- Comment créer une minuterie qui produit un nombre aléatoire après un laps de temps défini en Python?Première importation aléatoire. Vous pouvez ensuite ajouter cette ligne après le code: random.choice (12,34,56,78,9).
- Comment agrandir la police en Python sur un Mac?Dans le shell Python, cliquez sur Options, Configurer, Inactif. À partir de là, vous pouvez modifier la taille de la police.
- J'utilise LiClipse et lors du chargement du code, il se charge, mais rien ne se passe. L'indentation est très bien et la seule chose que j'ai modifiée est de changer la variable n en a.Recherchez les erreurs de syntaxe, le plus souvent un point-virgule à la fin de toutes les phases requises, et assurez-vous que votre système d'exploitation, vos pilotes et Python sont tous les derniers à jour. Il peut également être utile de vérifier le pare-feu et de voir s'il bloque l'interface.
- Je veux imprimer l'heure sur l'écran vidéo. Que devrais-je faire?Je suppose que vous parlez de la fenêtre Python Turtle Graphics. Si j'ai raison, vous devriez utiliser la fonction "write ()" au lieu de "print ()". Ensuite, vous devrez ajouter "clear ()" car "write ()" ne change pas les lignes automatiquement. Sinon, vous pourriez déplacer la position de votre tortue. Pour utiliser la fonction "write ()", vous devez également ajouter "from turtle import *".
- J'obtiens toujours l'erreur suivante: "attendait un bloc en retrait". Qu'est ce que j'ai mal fait?Vous devez appuyer sur la touche "Tab" pour mettre en retrait, donc si vous faisiez une boucle "if". vous feriez: si a = b: print ("l'indentation est l'espace avant impression")
- Comment puis-je l'imprimer à chaque seconde plutôt que de tout imprimer en même temps?Utilisez la fonction time.sleep (x). Cela permet au programme de se mettre en pause pendant x secondes. Après chaque instruction d'impression, insérez time.sleep (1).
- Comment puis-je arrêter ou interrompre le compte à rebours?En utilisant le mot-clé "break". Par exemple, si vous vouliez lancer un compte à rebours mais que vous vouliez l'arrêter à mi-chemin, vous pouvez essayer quelque chose comme ceci: i = 10 while i <10: print (i) i - = 1 if i == 5 break print (" Fini")
- Pourquoi avoir le module 'time' s'il n'est jamais utilisé?Si vous écrivez un programme pour, par exemple, un robot et que les servocommandes sont en millisecondes, il utilisera le module de temps pour envoyer le signal électrique pendant la bonne durée.