2017-05-27 8 views
-2

python3で時間ベースのループを解く方法はありますか。私は数時間を費やし、問題を解決するために別のレシピを試しましたが、私のために働いた人はいませんでした。ここで、制御 "C"なしで実行中のループを中断するpython3コードを示します。 E-Stopとして働いた。どんなキーボードenteryもかなりループになります。Pythonで時間ベースのループを解く方法

from time import sleep 
 

 
def blink(): 
 
    print('Hit enter to quite') 
 
    sleep(1) 
 
    
 
while 1: blink()

時間インポート睡眠

からデフ(点滅): プリント( 'かなりに入るヒット') 睡眠(1)

1中:点滅( )

答えて

0

キーボード入力を終了したい場合(例:enter)、実際に入力する必要がありますinput()を使用して、ユーザーから:

while True: 
    user_input = input("Press enter to quit") 
    if user_input == "": 
     break 

これは、ユーザーを待ち、彼らはちょうどenterを打つ場合は解除されます。あなたが入力するまで、毎秒「終了しEnterキーを押し、」印刷するスクリプトのための非ブロック入力(例をしたい場合は

def blink(): 
    user_input = input("Press enter to quit") 
    if user_input == "": 
     return True 
    return False 

done = False 

while not done: 
    done = blink() 

:あなたはメソッドからそれを実行したい場合は、そのメソッドが値を返す必要があります(「\ rは」)あなたはmsvcrt(Windowsのみ)を使用することができます押されて:奇妙なバグを引き起こす可能性があります、しかし

from time import sleep 

import msvcrt 

def blink(): 
    print('Hit enter to quit') 
    if msvcrt.kbhit(): 
     if msvcrt.getch() == "\r": 
      return True 
    return False 

done = False 

while not done: 
    done = blink() 
    sleep(1) 

を心の時間と、非ブロッキング(非同期として知られている)行動に保つとしない限り避けるべきです

+0

あなたの回答をありがとうございます。ループを壊すことはできません。 – PythonLearner

関連する問題