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

T=20需要一個python倒計時時鐘,當其完成

不錯誤,以便該計時器效果很好。它做它所需要的,它計算哪個是我想要的。但是當它結束時,它會停止我的程序,我正在運行它並執行Timeoutror。是否有倒計時,不會做這個或我可以添加到它?

+2

這是特定的不和?我只是嘗試了你提供的代碼,它工作得很好。 –

+2

當倒計時完成時,此代碼不會「錯誤」 - 它*停止*,因爲在循環後沒有任何代碼。你期望發生什麼?錯誤可能是由您未顯示的代碼觸發的。 –

+0

你如何精確地調用這段代碼? –

回答

0

您提到這是一個後臺任務,並且這導致TimeoutError。這是因爲D.py運行asyncio,並且time.sleep處於阻塞狀態,這意味着它會在處理所有線程時停止運行。你想要的是異步友好版本,await asyncio.sleep(1.0)而不是time.sleep(1.0)