我想做一個計時器(Python 3.6.0)。我知道有更簡單的定時器的其他職位,但我想做一個更復雜的計時器。這裏是我的代碼:如何在python執行while循環時獲得實時輸入?
import time
x = 0
run = input("Start timer? [Y]/[N]")
while run == 'Y':
time.sleep(1)
x += 1
print(x)
else:
print("end of code")
有沒有辦法打破while循環(使定時器可以停止),而在程序運行?如果我在「x + = 1」行下放置「in = input()」,以便用戶可以停止循環,則定時器停止計數,因爲用戶必須每秒提供一次輸入。如果我在沒有任何輸入的情況下運行上面的代碼,我不能在Python Shell中輸入任何內容,因爲循環繼續進行。有什麼辦法可以解決這個問題嗎?
如果您希望在執行輸入()時執行代碼,則需要使用線程。這可能會很快變得非常複雜。你確定這是你需要做的嗎? –
http://stackoverflow.com/questions/3295938/else-clause-on-python-while-statement –
請參閱[這裏](http://stackoverflow.com/questions/40949738/implementing-a-timercountdown-that-與遊戲邏輯運行 - pararell)本身是一個重複,以幫助您開始。注意:Alex Martelli的基本副本似乎在跨不同操作系統的工作中起作用。 – roganjosh