3 回答

TA贡献1820条经验 获得超10个赞
for x in xrange(10):
for y in xrange(10):
print x*y
if x*y > 50:
break
else:
continue # only executed if the inner loop did NOT break
break # only executed if the inner loop DID break
对于更深层的循环也是如此:
for x in xrange(10):
for y in xrange(10):
for z in xrange(10):
print x,y,z
if x*y*z == 30:
break
else:
continue
break
else:
continue
break

TA贡献1842条经验 获得超21个赞
如果您能够将循环代码提取到函数中,则return可以随时使用一条语句退出最外面的循环。
def foo():
for x in range(10):
for y in range(10):
print(x*y)
if x*y > 50:
return
foo()
如果很难提取该函数,则可以使用内部函数,如@ bjd2385所示,例如
def your_outer_func():
...
def inner_func():
for x in range(10):
for y in range(10):
print(x*y)
if x*y > 50:
return
inner_func()
...
添加回答
举报