Smart猫小萌
答复Is there a specific reason?,这里有一个有趣的应用程序:突破多个级别的循环。下面是它的工作原理:外部循环在结束时有一个中断,所以它只能执行一次。但是,如果内部循环完成(发现没有除数),那么它将到达OSE语句,并且永远不会到达外部中断。这样,内部循环中的中断就会从两个循环中分离出来,而不仅仅是一个循环。for k in [2, 3, 5, 7, 11, 13, 17, 25]:
for m in range(2, 10):
if k == m:
continue
print 'trying %s %% %s' % (k, m)
if k % m == 0:
print 'found a divisor: %d %% %d; breaking out of loop' % (k, m)
break
else:
continue
print 'breaking another level of loop'
breakelse:
print 'no divisor could be found!'对两个人来说while和for循环else语句在末尾执行,除非break被利用了。在大多数情况下,有更好的方法来做到这一点(将其包装成函数或引发异常),但这是有效的!