我正在嘗試創建一個程序,它以類似於遊戲節目倒數的格式運行。在python中製作一個定時器,同時錄製一個輸入
我發現了各種方法來創建一個計時器,最成功的與time.sleep
命令和while
循環。
但是,用戶需要能夠在計時器正在進行時輸入一個單詞,否則只要用戶想在計時器停止後想到他們的單詞就可以進行。一旦計時器停止,無論用戶輸入什麼都應該被視爲他們的話。我還沒有找到任何解決方案,因爲python按順序運行,所以很難同時有一個定時器和一個輸入。
我正在嘗試創建一個程序,它以類似於遊戲節目倒數的格式運行。在python中製作一個定時器,同時錄製一個輸入
我發現了各種方法來創建一個計時器,最成功的與time.sleep
命令和while
循環。
但是,用戶需要能夠在計時器正在進行時輸入一個單詞,否則只要用戶想在計時器停止後想到他們的單詞就可以進行。一旦計時器停止,無論用戶輸入什麼都應該被視爲他們的話。我還沒有找到任何解決方案,因爲python按順序運行,所以很難同時有一個定時器和一個輸入。
這對我以前的工作...使用time.time()。如果這不是你在找什麼,也許退房perf_counter()
import msvcrt
import time
def Countdown():
p = 3.00
alarm = time.time() + p
text = []
while True:
n = time.time()
if msvcrt.kbhit():
text.append(msvcrt.getche())
if n < alarm:
print(round(alarm - n))
else:
print("Time's up!")
break
Countdown()
我認爲你需要使用線程[這](http://www.tutorialspoint.com/python/ python_multithreading.htm)可能是有用的 – lelloman 2015-03-02 20:51:20
[如何在Python中運行後臺計時器]可能的重複(http://stackoverflow.com/questions/26002497/how-to-run-a-background-timer-in-python) – aruisdante 2015-03-02 20:52:03
線程建議的問題在於,您無法輕易地從「watch the clock」線程中終止「等待輸入」線程。 – Kevin 2015-03-02 20:52:37