Python中break,continue,return的区别
前言
如果我需要设置一个死循环,然后靠条件来终止,怎么办?
一个很简单的问题,但是我却没有说,这一篇本应该在分支控制语句里面的,现在只能拿出来水文再写一篇了
条件控制语句的补充
在循环里面,我们可以通过关键字来手动终止循环,而不是把整个程序停了来终止。
三种语句: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 a
print(sum(5, 2))
pass的意思就相当于什么都不做
运行结果为:7
那么如果我们把return的位置换一下呢?
def sum(a, b):
for i in range(10):
if i<a:
pass
else:
a+=b
return a
print(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 a
print(sum(5, 2))
结语
本来打算把迭代器生成器也写了的,但是想想还是别了
如果你能把这理解了,那么后面就不会有什么困难了,我也不是不想写很简单的例子,当然这个也算不得多难,但是确实是有一点绕和浪费资源的。
我希望你们不仅在这篇博客会了break,continue,return,并且也能把缩进,代码层次和代码运行的过程给 了解,那样就很棒了
兴趣是最好的老师,坚持是不变的真理。
学习不要急躁,一步一个脚印,踏踏实实的往前走。
每天进步一点点,日积月累之下,你就会发现自己已经变得很厉害了。
我是布小禅,一枚自学萌新,跟着我每天进步一点点吧!
说了这么多暂时也就够了,那么就告辞吧
- 点赞
- 收藏
- 关注作者
评论(0)