gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 19:02:30 25 4
gpt4 key购买 nike

所以我的问题是:我正在运行一个 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 的按钮和复选框来执行此操作,但到目前为止运气不佳。

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

编辑:看来除了做多线程/处理之外别无他法。

最佳答案

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

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

在被调用者中你或多或少地实现了:

...
def run(flags):
...
flags[0] = True # set flag2
...

关于python - 在 python 的 while 循环中更改标志值的可能方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51022752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com