如何从外部函数中中断循环

1 投票
3 回答
2379 浏览
提问于 2025-04-18 17:47

我的问题是,如何在循环外部跳出循环。如果不能这样做,有没有其他方法可以实现?

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

你不能从外部中断,但是你可以这样做来达到相同的效果:

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

这是不可能的。

解决办法是把你的代码放进一个函数里,然后从这个函数中返回结果。

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)

撰写回答