Break out of loop while calling function in python
我有一个名为
我的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | array = []#some huge array containing different ways of expressing greetings def main(resumeLocation): for a in range(len(array)): i = array[a] if a < resumeLocation: continue else: if (i =="Hello") answer(i, a) break def answer(input, resumeLocation): # process answer resumeLoop(resumeLocation) |
现在,为了使函数不被无限循环,我需要跳过我处理答案的迭代,所以我需要打破循环,调用该函数,然后恢复循环,但是,我似乎无法弄清楚如何 去做这个。
任何建议都有帮助。
谢谢
正如一些评论所提到的那样,我相信有更好的方法可以做到这一点,但是如果你真的想要开始循环,你可以尝试这种方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | arr = [1,2,3,4,5] def answer(x, y, arr): print('About to restart the loop at index: ', x+1) loop(x+1, arr) def loop(i, arr): for x in range(i, len(arr)): t = arr[x] print(t) if t == 3: answer(x, t, arr) break loop(0, arr) |
满足条件时,将调用
1 2 3 4 5 6 | 1 2 3 About to restart the loop at index: 3 4 5 |
它正确地重新启动下一个索引的循环。