简介
在while和for循环语句中都可以跟上else语句,但是与if-else判断不同。在这里,else是循环语句正常结束时才能执行的代码段,如果遇到break、return和一些异常抛出时都会使得循环中断,else中的代码段也不会被执行。代码测试如下:
-
没有中断
i = 0 while i < 5: print('第{0}个数是{1}'.format(i + 1, i)) i += 1 else: print('over')输出结果:
第1个数是0 第2个数是1 第3个数是2 第4个数是3 第5个数是4 over -
break影响
i = 0 while i < 5: if i == 3: break print('第{0}个数是{1}'.format(i + 1, i)) i += 1 else: print('over')输出结果:
第1个数是0 第2个数是1 第3个数是2else中的over不会执行
-
continue的话没有影响:
for i in range(1, 10, 1): if i % 3 != 0: continue print("0-9中3的倍数为{0}".format(i)) else: print('0-9中有3的倍数')输出结果:
0-9中3的倍数为3 0-9中3的倍数为6 0-9中3的倍数为9 0-9中有3的倍数
流程图
- 循环语句中的else
作用
遍历失败,结合循环语句和判断语句能够反映出是否成功,如下:
- 试求一下90-96之间的素数
输出结果:list = [] i = 2 for i in range(90, 96): j = 2 for j in range(2, i): if(i % j == 0): break else: list.append(i) else: print('There is no prime number!') print(list)There is no prime number! []
本文介绍了Python中循环语句(while和for)与else子句的配合使用。else子句会在循环正常结束时执行,而遇到break、return或异常时将不执行。通过代码示例展示了else在循环控制中的作用,并提供了流程图帮助理解。
1万+





