2017-08-04 1 views
0
def countdown(t): 
    while t > 0: 
     print(t) 
     t = t-1 
     time.sleep(1.0) 
     if t == 0: 
      print('blast off') 

T=20besoin d'un python compte à rebours horloge qui ne l'erreur pas quand son fait

donc cette minuterie fonctionne bien. Il fait ce dont il a besoin, ça compte ce que je veux. Mais quand ça se termine, ça arrête mon programme, je le lance et fait un Timeouterror. Y a-t-il un compte à rebours qui ne fera pas cela ou quelque chose que je pourrais ajouter?

+2

Est-ce spécifique à la discorde? J'ai juste essayé le code que vous avez fourni et cela a bien fonctionné. –

+2

Ce code ne fait pas "erreur" lorsque le compte à rebours est terminé - il * s'arrête * parce que, bien, vous n'avez aucun code après la boucle. Qu'attendez-vous qu'il se passe? L'erreur est probablement déclenchée par du code que vous n'avez pas affiché. –

+0

Comment appelez-vous ce morceau de code exactement? –

Répondre

0

Vous avez mentionné à la fois que c'était une tâche d'arrière-plan et que cela provoquait un TimeoutError. En effet, D.py exécute asyncio et time.sleep bloque, ce qui signifie qu'il arrête tous les threads en cours de traitement. Qu'est-ce que vous voulez est la version compatible avec l'async, await asyncio.sleep(1.0) au lieu de time.sleep(1.0).