从循环中的不同函数开始循环的新迭代[python]
如何在不使用“继续”或“中断”的情况下启动下一个i从循环中的不同函数开始循环的新迭代[python],python,for-loop,iteration,Python,For Loop,Iteration,如何在不使用“继续”或“中断”的情况下启动下一个i def function_in_main(): if #something happens: #start new next iteration for the loop in the main function def main(): n = 1 for i in range(len(alist)): print ('step ', n) function_in_m
def function_in_main():
if #something happens:
#start new next iteration for the loop in the main function
def main():
n = 1
for i in range(len(alist)):
print ('step ', n)
function_in_main()
n += 1
main()
输出应该类似于:
第一步
#如果或直到某事发生
步骤2
etc当if语句为true时,只需在主函数中返回函数。当它返回时,循环将继续进行下一次迭代,然后在_main中重新调用函数_。以下是一个示例:
def function_in_main(x):
return x=='Whopee' # will return True if equal else False
def main():
alist=['1','ready','Whopee']
for i,item in enumerate(alist, 1):
print ('step {}, item: "{}" and {}'.format(i,item,function_in_main(item)))
main()
印刷品:
step 1, item: "1" and False
step 2, item: "ready" and False
step 3, item: "Whopee" and True
注意使用而不是手动保留计数器 可能尝试引发异常:
def function_in_main():
if #something happens:
raise Exception
def main():
n = 1
for i in range(len(alist)):
print ('step ', n)
try:
x()
except Exception:
continue
n += 1
main()
您可以指定或创建您想要的任何类型的异常。确定您没有想到while循环或其他什么?很难看出你的意思
def your_function():
#…do some work, do something to something else
if something_is_true:
return True
else:
return False
def main():
condition = True
for i in range(len(your_list)):
while condition:
print "Step: %d" % i
your_function()
只有当
u函数
返回False时,main中的循环才会继续,否则,它将停留在循环中,而循环。如果条件发生了什么事
不满足,循环是否会中断?@Hyperboreus不,我不应该重新措辞:如果条件发生了什么事
不满足,该怎么办?