python基础(while...else)
目录
循环else
while...else
语法
案例
跳出循环的方式
循环else
---------------------------------------------------------------------------------------------------------------------------------
循环可以和else配合使用,else下方缩进的代码指的是当循环正常结束之后要执行的代码。
这也侧面说明了一个问题,那就是当循环不正常的结束时,就不会执行else下面所对应的代码。
---------------------------------------------------------------------------------------------------------------------------------
while...else
语法
while 条件:条件成立执行的执行的代码
else:循环正常结束后执行的代码
案例
我们拿做实验为例,某个实验需要重复做5次,这样所得到的实验结果才足够准确。这个情形的代码我们该如何书写?是不是先写一个循环,将“做实验”这句话重复五次,然后再在else下面执行对应的代码。
代码如下:
i = 1
while i <= 5:print(‘做实验’)i += 1
else:print(‘所得实验结果准确’)
运行结果如下:
---------------------------------------------------------------------------------------------------------------------------------
跳出循环的方式
还是上面那个案例,只不过呢做实验的时候出了一点意外。
1、在做第三遍实验时,实验仪器炸了,这样的话之后的实验就都没法做了,这时代码该如何写?
2、在做第三遍实验时,实验数据统计错了,这样一来就舍弃这一遍实验,之后的实验还接着做,这时代码该怎么写?
针对第一种情况,我们可以用break来实现,具体代码如下:
i = 1
while i <= 5:if i == 3:print(‘实验仪器炸了’)breakprint(‘做实验’)i += 1
else:print(‘所得实验结果准确’)
运行结果如下:
可以看到else下面的代码并没有执行,这就说明break终止循环的情况不是正常的结束循环。
针对第二种情况,我们可以使用continue来实现,代码如下:
i = 1
while i <= 5:if i == 3:print(‘实验数据统计错误’)i += 1continueprint(‘做实验’)i += 1
else:print(‘所得实验结果不太准确’)
运行结果如下:
可以看到else下面的代码是执行了的,这就说明continue跳出循环是正常的结束循环。那我们该怎么来理解这个“正常”结束循环呢?我们比较一下break和continue的不同,break是提前结束循环,而continue不是提前结束循环。由此我们可以知道,所谓正常结束循环就是没有提前结束循环。