python的for和else缩进问题
2019-05-15 本文已影响0人
夏洛伊de风

看了上面这个图,就会觉得头晕,这里详细分析一下到底是为什么有这个情况。
首先接触一个概念:在python语言里,for和else可以组成语句,如果for循环正常结束,else中语句执行。如果for是break结束的,则不执行。这样就好理解了,这里有些else其实不是和if相对应而是和for相对应。
第一个程序,这里else其实就是for结束之后才执行的,因为python的执行循环是到4而不是5!所以最后i=4的时候for的内容结束,执行else的内容。
第二个,这就是正常的逻辑了,if跟else都按照条件执行。
第三个,加了break之后跳出循环,并且不执行else的内容。
第四个,执行else内容2次,到3break出来,结束循环。