如何从外部函数中断循环

时间:2014-08-19 12:50:18

标签: python python-3.x

我的问题是你怎么能从循环之外打破。如果我不能有解决方法吗?

def breaker(numberOfTimesYouWantToBreak):
    for i in range(0,numberOfTimesYouWantToBreak+1):
        return break
while True:
    for i in range(0,100000):
        breaker(10)
        print(i)

我想要的结果是:

11,12,13,14...

3 个答案:

答案 0 :(得分:5)

除了直接在循环中,您不能在其他任何地方使用break语句。你不能从另一个函数返回它,它不是一个被传递的对象。

但您似乎想要跳过,而不是从循环中断。您正在寻找continue关键字:

for i in range(0,100000):
    if i < 10:
        continue
    print(i)

如果必须使用单独的函数,则让该函数返回TrueFalse并使用if测试有条件地使用continue

def should_skip(i):
    return i < 10

for i in range(0,100000):
    if should_skip(i):
        continue
    print(i)

答案 1 :(得分:1)

这是不可能的。

解决方法是将代码放入函数中,并将return放入函数中。

答案 2 :(得分:0)

但是,您可以在外部打破,但为了达到同样的效果,您可以执行此操作:

for i in range(0,100000):
    i += 10 + 1 #(10 is the number you wanted in the break function)
    print(i)