10

我已经在 C/C++ 中完成了此操作,之前我有一个 while 循环,它充当等待程序,直到条件被破坏。在 Python 中,我试图做同样的事情while(GPIO.input(24) != 0):,它说它期待缩进。有没有办法让脚本挂在这个语句上,直到条件被打破?

4

4 回答 4

19

请注意,空的 while 循环会占用资源,因此如果您不介意降低时间分辨率,可以包含以下sleep语句:

while (GPIO.input(24) != 0):
    time.sleep(0.1)

这使用更少的 CPU 周期,同时仍以合理的频率检查条件。

于 2013-05-23T18:08:18.447 回答
15

pass在 Python 中,只要您需要一个空块,就需要使用该语句。

while (GPIO.input(24) != 0):
    pass
于 2013-05-23T18:05:24.713 回答
7

添加一个pass,例如:

while(GPIO.input(24) != 0):
    pass

您也可以考虑另一种方法:

while True:
    if GPIO.input(24) == 0: break

无论您认为哪个更具可读性。

于 2013-05-23T18:05:01.887 回答
3

在 python 中,你不能让冒号:挂起,所以你必须使用 apass来完成空块。while以这种方式使用 a 的另一种方法

 while True:
     if GPIO.input(24) == 0:
         break
于 2013-05-23T18:07:29.957 回答