写点什么

趁着课余时间学点 Python(六)终止循环,阻断循环

用户头像
ベ布小禅
关注
发布于: 5 小时前
趁着课余时间学点Python(六)终止循环,阻断循环


@[TOC]

前言

如果我需要设置一个死循环,然后靠条件来终止,怎么办?


一个很简单的问题,但是我却没有说,这一篇本应该在分支控制语句里面的,现在只能拿出来水文再写一篇了

条件控制语句的补充

在循环里面,我们可以通过关键字来手动终止循环,而不是把整个程序停了来终止。


三种语句:break return continue 都可以使循环停止


不过 return 一般都是用到函数里面的,都是使用 break


而 continue 不是用来终止循环的,具体作用看下面代码示例

break

看汉语也有个大概思想:打破


它的作用是打破循环,使循环碰到它后终止


break 的作用是打破结构体,使程序退出当前代码块


下面看这个例子,我们要实现的功能是循环获取用户从键盘输入的数据,直到输入 q 来推出程序


while True:    a = input()    if a == "q":        break    else:        print(a + "  输入成功,输入 'q' 退出程序")
复制代码


运行结果:



此时我们发现,输入 q 推出了,但是我们看着并不舒服,我们还可以加个提示,或者让他再输入一次“确认”来确认是否要推出


while True:    a = input()    if a == "q":        print("确定要推退出,确定的话,请输入确定退出来确定")        if input() == "确定退出":            print("已退出,程序结束")        break    else:        print(a + "  输入成功,输入 'q' 退出程序")
复制代码


运行结果:



这样就完美了,我这可不是谁字数啊,我这是强迫症(认真脸)!

continue

continue 是跳出当前循环,执行下一循环,也就是说,他并没有令循环终止的能力,他只能令循环少循环一些次数


我们先把上面的代码里面的 break 换成 continue 试试


while True:    a = input()    if a == "q":        print("确定要推退出,确定的话,请输入确定退出来确定")        if input() == "确定退出":            print("已退出,程序结束")            else:        print(a + "  输入成功,输入 'q' 退出程序")
复制代码


行不通



退出不了!


果然吧,那么 continue 有啥用呢?


我先不说,你先看:


for i in range(10):    if i % 5 == 0:        continue    else:        print(i)  
复制代码


运行结果:


return

return 意为返回,是用在函数中的返回值的,至于函数是什么,我们会在本专栏中陆续讲述,你先看效果就可以了


我们计算当 i 的值循环到 5 时,让 a+b,然后计算完终止


当 i 为 5 时,不管循环是否进行完,都会强行终止


def sum(a, b):    for i in range(10):        if i<a:            pass        else:            a+=b            return aprint(sum(5, 2))
复制代码


pass 的意思就相当于什么都不做


运行结果为:7


那么如果我们把 return 的位置换一下呢?


def sum(a, b):    for i in range(10):        if i<a:            pass        else:            a+=b        return aprint(sum(5, 2))
复制代码


我们的循环会在第一次就终止,因为第一次 i 的值为 0,满足判断条件,执行 return 语句,结束循环


那么如果我们再换一下呢?我们这次放在循环外面,那么肯定是循环执行完才会结束了,会把 a+=b 执行一次,还是 7


def sum(a, b):    for i in range(10):        if i<a:            pass        else:            a+=b    return aprint(sum(5, 2))
复制代码

结语

本来打算把迭代器生成器也写了的,但是想想还是别了


如果你能把这理解了,那么后面就不会有什么困难了,我也不是不想写很简单的例子,当然这个也算不得多难,但是确实是有一点绕和浪费资源的。


我希望你们不仅在这篇博客会了 break,continue,return,并且也能把缩进,代码层次和代码运行的过程给 了解,那样就很棒了


兴趣是最好的老师,坚持是不变的真理。学习不要急躁,一步一个脚印,踏踏实实的往前走。每天进步一点点,日积月累之下,你就会发现自己已经变得很厉害了。


我是布小禅,一枚自学萌新,跟着我每天进步一点点吧!


说了这么多暂时也就够了,那么就告辞吧



发布于: 5 小时前阅读数: 4
用户头像

ベ布小禅

关注

还未添加个人签名 2021.04.06 加入

平平无奇一萌新,默默无闻学IT,我是布小禅,一个网络专业却对编程及其感兴趣的小白! 目前在学python和Java,都很浅显,平时爱写点学习笔记。IT技术交流群:1039347613 也可以联系本人企鹅:2228660752 v:Smly0413

评论

发布
暂无评论
趁着课余时间学点Python(六)终止循环,阻断循环