Python循环打印状态只改变一次

时间:2017-07-07 13:37:37

标签: python python-2.7

我是Python的新手,我刚开始了解基础知识。 我试图在一个循环中运行一个脚本来检查温度,如果外部温度高于内部或相反,该函数应该打印一次并继续检查每5秒,更改状态。 我发现了一个非常有用的类似questions,但是如果我执行代码它打印外部温度更高,接下来我加热内部传感器并打印它内部更高,所有好,除了它没有'继续,循环工作,但它不能识别下一个状态的变化。 。

{{1}}

2 个答案:

答案 0 :(得分:0)

打印相应的消息后,标志 printed_in printed_out 都设置为 True 。您没有将它们设置回 False ,因为 if 条件将永远不会得到满足,并且邮件将永远不会再次打印。您应该在 if 块中将 printed_out 设置为 False ,其中内部温度更高 if 块中将 printed_in 设置为 False

答案 1 :(得分:0)

    if outside > inside and not printed_out:                         
        printed_out = True
        print "outside is higher then inside"
        print  outside
        printed_in = False  

    if outside < inside and not printed_in:
        printed_in = True
        print "inside is higher then outside"
        print  inside
        printed_out = False
    time.sleep(5)