在python中更改while循环中标志值的可能方法?

2024-10-02 06:34:31 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我的问题是:我正在运行一个while循环,它每次都会执行Function1,Function2和Function3只有在它们各自的标志设置为True时才会执行,我希望能够在循环运行时更改这些标志。在

while brkFlag == False:  
    Function1.run()
    if flag2 == True:
        Function2.run()
    else:
        pass    
    if flag3 == True:
        Function3.run()
    else:
        pass
    if someConditions == True:
        brkFlag = True

目前我想在循环运行时用一个GUI来更改这些标志,并试图用tkinter的按钮和复选框来实现这一点,但到目前为止还没有运气。在

我也不能使用多线程或多处理,因为它们会大大降低循环的速度(现在已经几乎不能接受了,因为每个函数都有大量的计算,我需要以实时的方式显示结果)。在

编辑:看来除了多线程/处理之外,没有别的办法了。在


Tags: runfalsetrueif标志passelsewhile
1条回答
网友
1楼 · 发布于 2024-10-02 06:34:31

一种简单的方法是传递包含标志的可变容器,例如列表:

flags = [flag2, flag3, someConditions ]
while brkFlag == False:  
    Function1.run(flags)
    if flags[0] == True:
        Function2.run(flags)
    else:
        pass    
    if flags[1] == True:
        Function3.run(flags)
    else:
        pass
    if someConditions == True:     # or if flags[2] == True:
        brkFlag = True

在被调用方中,您或多或少实现了:

^{pr2}$

相关问题 更多 >

    热门问题