2016-11-28 8 views
0

私はPythonでV-Repシミュレートされたロボットを制御する "ロボットコントローラ"をプログラミングしています。私のロボットには近接センサがあり、それはTrue(彼の前に何かを検出した場合)またはFalse(先に空いている場合)になります。私のSensorがFalseからTrueに変わるとすぐに、Pythonプログラムが反応します(例えば、プロシージャを呼び出す)。イベントに反応するPythonプログラム

センサーの状態はPythonでブール変数に格納されているが、私は、当然のことながら、待つのビジーフォームを避けるだろう:

While True: 
    if sensor_state: 
     # Do Something 

私はプログラムの通常の流れの間に、などという希望しますsensor_stateが変更されるとすぐに、いくつかのステートメントを実行する必要があります。

アドバイスありがとうございます。

答えて

0

あなたは、whileループを使用することができれば、あなたはこのような何かを行くかもしれない:

while False: # You said that True indicates there's something ahead 
    if object_ahead: 
     sensor_state = True 

それとも、単にループ&から抜け出すことができますが、すべて一緒にブール変数を見送る:

while False: 
    if object_ahead: 
     break 

whileループを使用できない場合は、その時間内に他の処理を行うプログラムが必要な場合は、「スレッド」モジュールを使用して関数を別のスレッドとして呼び出す方法を検討してください。

関連する問題