Afficher un compte à rebours pour le python fonction de veille
Je suis en utilisant le temps.sleep(10) dans mon programme. Peut afficher le compte à rebours dans la coquille quand je lance mon programme?
>>>run_my_program()
tasks done, now sleeping for 10 seconds
et puis je veux qu'il fasse 10,9,8,7....
est-ce possible?
Merci pour tous les merveilleux réponses.
connexes: compte à rebours à l'aide en utilisant Tkinter, ou Gtk, ou Tordu ou Asyncio boucle d'événement
connexes: compte à rebours à l'aide en utilisant Tkinter, ou Gtk, ou Tordu ou Asyncio boucle d'événement
OriginalL'auteur user1681664 | 2013-06-20
Vous devez vous connecter pour publier un commentaire.
vous pouvez toujours faire
Cet extrait a un peu ennuyeux, caractéristique que chaque numéro est imprimé sur un retour à la ligne. Pour éviter cela, vous pouvez
Oui, en effet, il est fixé pour la réponse.
OriginalL'auteur aestrivex
Vous pouvez faire un compte à rebours comme:
Le retour chariot
\r
et de la virgule,
gardera l'impression dans la même ligne (en évitant une ligne pour chaque compte à rebours de la valeur)Comme le nombre de secondes diminue, la pad_str permettra de s'assurer que la dernière ligne est remplacée par des espaces au lieu de laisser le dernier caractère(s) derrière que la sortie se raccourcit.
L'impression finale remplace le dernier message d'état avec un message done et incrémente la ligne de sortie, donc il y a des preuves de ce retard.
print '%s for the next %d seconds %s\r' % (msg, i, pad_str),
doit être modifié poursys.stdout.write( '%s for the next %d seconds %s\r' % (msg, i, pad_str),)
.OriginalL'auteur Saullo G. P. Castro
C'est le meilleur moyen pour afficher un chronomètre dans la console pour Python 3.x:
Ceci écrit sur la ligne précédente sur chaque cycle.
OriginalL'auteur Barkles
C'est quelque chose que j'ai appris, à l'un de mes premiers python leçons, nous avons joué avec ["/","-","|","\","|"] mais le principe est le même:
OriginalL'auteur Azur
Sûr, il suffit d'écrire une boucle qui imprime 10 moins le compteur d'itération, puis de sommeil de 1 seconde à chaque itération et de courir pour 10 itérations. Ou, pour être encore plus flexible:
OriginalL'auteur Silas Ray
time.sleep()
peut revenir plus tôt si le sommeil est interrompu par un signal ou une version ultérieure (dépend de la planification des autres processus/threads par OS/l'interprète).Pour améliorer la précision sur plusieurs itérations, pour éviter toute dérive pour un grand nombre d'itérations, le compte à rebours peut être verrouillé avec l'horloge:
OriginalL'auteur jfs
Voici celui que j'ai fait:
À la fin si vous et une autre personne, vous pouvez mettre une alarme ou quoi que ce soit.
OriginalL'auteur Silas Poulson