上一篇:小牛叔讲Python第6章:for循环-能计数的循环1234567
python的循环语句挺有个性,不仅有break,continue语句还有else
说实话了解到 “循环还能带else”,我整个人都慒了,学了十几年计算语言,第一次有人说循环还可以带else语句,这和条件语句有什么区别呢?
1、带else条件的循环
while循环的语法:
while 条件:
循环内语句块
else:
else语句块
for循环的语法:
for 变量 in 集合:
循环内语句块
else:
else语句块
else语句块会在“循环条件不满足时” 运行一次,一般是循环结束后运行或是一开始条件不满足无法执行循环内语句时运行。
这个语句对于简化如下的操作非常有用:
1、判断是否打满循环了,还是中途被跳出了。
2、处理循环退出前的 “最后一次” 的操作。
2、跳出break与继续continue
- 在循环中的break语句,会跳出循环。
- 在循环中的continue语句,会跳过下面的语句,直接跳到循环开头继续下一次循环。
如果跑圈算循环,break与continue的作用。
for 变量 in 集合: #continue语句会跳到这里,读取变量值继续循环
循环内语句块
if 跳出条件:
break
if 继续条件:
continue
<continue执行会跳过>
else:
else语句块
<break语句会跳到这里>
3、编程示例
琼恩·雪诺决定离开北境长城深入北方会会夜王,在离开前他与指挥官总司令杰奥·莫尔蒙有一个约定程序:设定期限13天后(12次循环体)指挥官派兵营救(循环体下个动作),但如果某天看见了红色信号弹(条件),不用等待(退出循环)必须立刻去营救,在等待期间正常隔一天维护一次望远镜(跳过维护程序continue)。
for i in range(1,13):
print('这是第',i,'天')
if(input('看到红色信号弹了(y/n)?')=='y'):
break
if(i%2==0):
continue
print('维护望远镜')
else:
print('13天-等待结束!')
print('准备营救!')
程序使用了今天我们学习所有的内容,等待12天使用了for循环,通过else语句来打印打满循环进入第13天的状态(这样就与信号弹break强跳出区分出来了),使用continue来跳过循环中的望远镜维护过程。
下面我们看看运行的结果: