2016-11-28 80 views
0

我在Python中编程一个控制V-Rep模拟机器人的“机器人控制器”。我的机器人有一个接近传感器,它可以是真的(如果它检测到他面前的东西)或假的(如果它前面有空)。我希望一旦我的传感器从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循环,因为你需要你的程序在这段时间内做其他事情,那么就使用“线程”模块来调用一个函数作为一个单独的线程。

相关问题