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條經驗 獲得超22個贊
如果您能夠將循環代碼提取到函數中,則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()
...
添加回答
舉報