即使在while循环中触发break,也会执行其他语句

时间:2013-01-11 15:10:33

标签: python python-2.7 embedded

我有一个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

2 个答案:

答案 0 :(得分:2)

也许你只是多次执行(或继续)while循环,第一次执行打印第一行,后续执行打印第二行。

答案 1 :(得分:-2)

你的else语句缩进到与while循环相同的级别,因此不在其中。