Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从循环中的不同函数开始循环的新迭代[python]_Python_For Loop_Iteration - Fatal编程技术网

从循环中的不同函数开始循环的新迭代[python]

从循环中的不同函数开始循环的新迭代[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

如何在不使用“继续”或“中断”的情况下启动下一个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_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不,我不应该重新措辞:如果条件
发生了什么事
不满足,该怎么办?