如何从外部函数中中断循环
我的问题是,如何在循环外部跳出循环。如果不能这样做,有没有其他方法可以实现?
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)
如果你必须使用一个单独的函数,那么让这个函数返回 True
或 False
,然后用 if
语句来决定是否使用 continue
:
def should_skip(i):
return i < 10
for i in range(0,100000):
if should_skip(i):
continue
print(i)