2017-06-07 97 views
0

我想倒計時器像小腳本。我希望它看起來像這樣:試圖做一個倒數倒計時

0 years left until your event. 
0 months left until your event. 
10 days left until your event. 
234 hours left until your event. 
14020 minutes left until your event. 
841166 seconds left until your event. 

正如你所看到的,這不是一個「正常的」倒計時。我希望它是這樣的,總秒數,總分鐘數等。現在我遇到了麻煩,試圖讓它實際倒計時。就在秒做工精細,我使用這段代碼爲:

def secondsLeft(eventDate): 
    while secondsUntil: 
     toPrint = "%s seconds left until your event." %(secondsUntil) 
     print(toPrint, end='\r') 
     time.sleep(1) 
     secondsUntil -= 1 

然而,試圖做會議紀要一樣,用time.sleep(60)更換時它不打印出秒了!

我認爲它與while循環有關。但是,我不知道該怎麼辦...任何幫助正確的方向是讚賞!

+2

不是很明顯嗎?根據**秒數計算分鐘數,小時數等。 –

+2

或者,閱讀有關datetime對象的一些信息,使用單個日期時間對象進行計算,然後使用所需的不同粒度進行打印。 –

+0

[以恆定速率以高精度進行信號採樣循環]的可能重複(https://stackoverflow.com/questions/26774186/looping-at-a-constant-rate-with-high-precision-for-signal-取樣) –

回答

0

如果您等待一分鐘,整個程序將停止一分鐘。它不能減少秒數。你想要做的是,保持等待只有一秒鐘,並加入這條線mins, secs = divmod(secondsUntil, 60)。你可以打印分鐘分鐘直到

+0

謝謝你的回答。我可以看到這是如何工作的。但是,我想以打印方式打印行時遇到麻煩。回車給我帶來麻煩,除此之外還有其他選擇嗎? –

+0

當你說CR給你麻煩時,你是什麼意思? – EduardoMaia