我有一个while循环,它检查变量Accessory2的上升沿。我的代码如下:
# Check for rising edge of ACC2
while (currentTime.Value - StartTime) < TimeOutValue:
if Accessory2.Value == 1:
Acc2StartTime = currentTime.Value
print rttPrefix + "ACC2 output to ON"
break
yield None
else:
print rttPrefix + "No ACC2 output"
DynamicFlag.Value = -2
但是,当变量Accessory2上升时,中断条件会停止if语句,但也会执行else语句。知道为什么吗?
输出如下:
*RTT:* ACC2 output to ON
*RTT:* No ACC2 output
答案 0 :(得分:2)
也许你只是多次执行(或继续)while循环,第一次执行打印第一行,后续执行打印第二行。
答案 1 :(得分:-2)
你的else语句缩进到与while循环相同的级别,因此不在其中。