Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.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_Python 2.7 - Fatal编程技术网

在Python中重新启动当前迭代

在Python中重新启动当前迭代,python,python-2.7,Python,Python 2.7,当testing12(坏顺序,顺序)==True时,我想重新启动第一个for循环的当前迭代。我尝试使用continue,但它跳过了迭代,这不是我想要的 bad_order = [] order = [] for iteration in range(0, 10): args = [] print("\n def test%d(self):" % (iteration)) for input in range(num_arguments): args

testing12(坏顺序,顺序)==True时,我想重新启动第一个for循环的当前迭代。我尝试使用continue,但它跳过了迭代,这不是我想要的

bad_order = []
order = []
for iteration in range(0, 10):

    args = []
    print("\n  def test%d(self):" % (iteration))

    for input in range(num_arguments):

        args.append(pick_type())
        order = args

    if testing12(bad_order, order) == True:
        continue

    try:
        result = target(*args)
        code = test_to_string(target, args, result)

    except Exception as error:
        bad_order = args
        code = test_to_string_exc(target, args, error)

您可以添加一个内部
while
循环,该循环实际上将重复外部循环迭代,直到退出。如果您可以在while测试中设置repeat条件,那么您就完成了:

for iteration in range(0, 10):
    while some_condition:
        ...
如果不是,您可以使用
while True
循环,在底部放置一个无条件的
中断
,然后使用
continue
重复:

for iteration in range(0, 10):
    while True:
        ...
        if continue_condition:
            continue
        ...
        break

您只需要添加一个在迭代结束时中断的无限while循环

然后,您可以根据需要随时重新启动迭代

bad_order = []
order = []
for iteration in range(0, 10):
    while True: #
        args = []
        print("\n  def test%d(self):" % (iteration))

        for input in range(num_arguments):
            args.append(pick_type())
            order = args

        if testing12(bad_order, order) ==  True:
            continue

        try:
            result = target(*args)
            code = test_to_string(target, args, result)
        except Exception as error:
            bad_order = args
            code = test_to_string_exc(target, args, error)

        break #

您还可以更改:

for iteration in range(0,10):

iteration=0
迭代<10时:

仅当不需要重复时才增加迭代

请尝试更改您的设计。要么将for的内容放在带有一些参数的函数中,要么根据您的要求完全更改内容。我喜欢重写代码
iteration =0 
while iteration < 10 :