首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python中的无限时间循环-具有相互冲突的条件

python中的无限时间循环-具有相互冲突的条件
EN

Stack Overflow用户
提问于 2021-08-21 05:42:26
回答 1查看 215关注 0票数 0

我在“while循环”函数中导致的错误导致了以下问题

代码语言:javascript
复制
from time import sleep
from random import randint

def control_pressure():
    pressure = measure_pressure()
    while True:
        if pressure <= 500:
            break

        while pressure > 500 and pressure <= 700:
            run_standard_safeties()
            pressure = measure_pressure()

        while pressure > 100:                     # Here is the typo
            run_critical_safeties()
            pressure = measure_pressure()

    print("Wow! The system is safe...")

def measure_pressure():
    pressure = randint(450, 800)
    print(f"psi={pressure}", end="; ")
    return pressure

def run_standard_safeties():
    print("Running standard safeties...")
    sleep(0.2)

def run_critical_safeties():
    print("Running critical safeties...")
    sleep(0.7)

if __name__ == "__main__":
    control_pressure()

在上面,我做了一个错误,检查压力> 100,而条件。但是在前面的函数的第一部分,它检查,而压力<= 500,然后打破。因此,从技术上讲,任何小于或等于500的值都应该返回True,并在不达到压力> 100条件的情况下破坏函数。

但这一职能没有停止。为什么会发生这种事?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2021-08-21 05:49:14

如果初始数在100和500以上,它将进入第二个循环,并且永远不会停止,因为它总是在100以上,因为您从450-800之间随机获取一个。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68870442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档