2017-06-05 56 views
3

我已經尋找這一段時間,但我還沒有發現有工作 的方式就是我想要做的是這樣的:把時間限制在輸入

prompt=str(input('press "l" within two seconds:'): 
    if prompt=='l': 
     print('ta da') 
    else: 
     print('loser') 

我怎麼一個時間限制添加到那?

回答

2

如果你不關心beeing線程安全的,這是一個很好的形式給出:

import datetime 
import threading 
win = False 
time_out = False 
def MyThread1(t_name, prompt, time_var): 
    global win 
    global time_out 
    prompt=str(input('press "l" within two seconds:')) 
    win = False 
    if(not time_out and prompt == 'l'): 
     win = True 
     print('ta da') 
    else: 
     print('loser') 

def MyThread2(t_name, prompt, time_var): 
    global win 
    global time_out 
    while (time_var > datetime.datetime.now()): 
    pass 
    time_out = True 

time_var = datetime.datetime.now() + datetime.timedelta(seconds=2) 
prompt = 'l' 

t1 = threading.Thread(target=MyThread1, args=("Thread-1", prompt, time_var)) 
t2 = threading.Thread(target=MyThread2, args=("Thread-2", prompt, time_var)) 
t1.start() 
t2.start()