1.刚看到这个语句时真的很蒙,php中都是 if .... else ....,python就是不一样,很不理解,于是乎用PyCharm进行验证
#打印1到5中的素数(只能被1和本身整除的数)
for n in range(5,1,-1): #①
for i in range(2,n): #②
if n%i == 0: #③
break #④
else: #⑤
print(n) #⑥
运行:① n=5
② i=2
③5%2 不等于0 条件不满足
②i=3
③5%3 不等于0 条件不满足
②i=4
③5%4 不等于0 条件不满足
⑤
⑥输出5
从上面的例子看出 当第二层for循环都走完后才运行else语句块中的内容
① n=4
② i=2
③4%2 等于0 条件满足
④跳出循环
①n=3 .............................
如果第二层for循环没有break的话,每次else中的代码都会执行
总结:for else用法:当迭代的对象迭代完并为空时,位于else的子句将执行,而如果在for循环中含有break时则直接终止循环,并不会执行else子句。
2.break和continue
break在while和for循环中都可以使用,一般放到if语句中,break一旦被执行,将使整个循环提前结束
continue是终止当前循环,并忽略continue之后的语句,然后回到循环顶部,提前进入下一个循环
来源:oschina
链接:https://my.oschina.net/u/4346593/blog/3708999