Hello! 欢迎来到小浪资源网!



Python 中的 else 和 if 语句可以不在同一层级吗?


Python 中的 else 和 if 语句可以不在同一层级吗?

python中的else和if是否必须处于同一层级?

在判断素数的代码中,else和if语句看起来不在同一层级:

for num in range(10, 20):     for i in range(2, num):         if num % i == 0:             print("%d 是素数" % num)             break     else:         print("%d 是合数" % num)

但实际情况并非如此。else语句实际上与内层for循环相匹配,而非与if语句。

举个例子,当判断10是否为素数时,内层循环会依次判断10是否能被2、3、4、…、9整除。由于没有找到能整除10的数,内层循环结束,执行else语句,打印”10是合数”。

立即学习Python免费学习笔记(深入)”;

也就是说,else语句的作用是当内层循环完全执行结束后且没有被if语句中断时执行。因此,else和if语句可以不在同一层级,但else语句实际上是内层循环的结束条件。

相关阅读