我正在编写一个包含许多步骤的工作流程,比如说 100 个步骤。在每个步骤之后,我想检查条件是否为 True,如果为 True,则跳过剩下的所有步骤并转到“下一个级别”。如果一直到步骤100,则也进入“下一个级别”。
我可以考虑使用 for 循环进行 1 次迭代
for i in range(1):
step1()
if condition:
break
step2()
if condition:
break
...
step100()
next level()
这看起来不错,但是有没有更好的方法没有循环并跳转到next level
直接地?如果这些步骤中再次存在这种结构,将会很有帮助,并且我不想打破许多层循环来到达next level
如果你真的有 100 个步骤,那将成为一个很长且难以阅读的代码。
另一种选择是将步骤/条件打包到列表中:
steps = [step1, step2, ... , step100]
conditions = [condition1, condtition2, ...]
for step, condition in zip(steps, conditions):
step()
if condition:
break
next_level()
当然,如果您只有一个全局条件(如您的示例所示),则conditions
列表不是必需的,您可以循环steps
。在这种情况下,代码还可以进一步简化为:
steps = [step2, ... , step100]
step1()
while not condition and steps:
steps.pop(0)()
next_level()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)