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之后的语句,然后回到循环顶部,提前进入下一个循环