Python为什么输出是这个

不知道为什么for能和else同级,不明白什么意思,有没有帮忙看一下这块代码为什么输出是这个呢?

img

python的for...else语法啊,如果循环正常结束之后执行else语句(主意是正常,如果提前break就不会执行)。同样的还有while ...else语法。
你可以将整个for语句当做一个if条件来看,每次循环就是在做if判断,提前break就是满足if条件,就不会进入到else语句,如果循环结束没有break,就相当于if不满足条件,进入else语句。你可以将你的continue改成break执行一下就知道了。

这是python的语法特性
循环后带else表示正常循环完毕,没有执行break,这样你可以少定义一个变量来判断是否break
try,except也可以加else,表示正常执行完毕没有走进except
至于你上面的代码,本来也没有写break语句,所以无论如何肯定要走else