python break和continue对比

前言

最近在回答问答python区的问题的时候,发现很多人对于这个break和continue分不清。所以,今天我就写篇文章来讲一下(绝对不是为了方便我以后回答的时候复制)

break

在while和for循环中,只要满足一定的条件,程序就会结束,或者进入无限循环的境地。这个时候,我们就需要一个东西来帮助我们在满足某种条件的情况下,主动结束循环。或者说,我们希望有一个东西,能在循环的过程中的某个特定的阶段跳出,结束循环。

break长和if,elif,else搭配。

break的用法很简单,就像它定义所说的,就是跳出循环。但是,有几个需要注意的点:

1. break只跳出一层循环:for-for嵌套遍历的情况的话,一个break只会跳出一个循环。如果这个break是在最里面的话,就只会结束里面for的循环,进入下一个外面for的循环。

2. break跳出是绝对跳出,这个跳出的循环不会再继续循环了(除非是循环嵌套)。

3. break在while-else,for-else循环的时候会起到不一样的效果。

a = 0while(a<10):print(a)if a == 8:breaka+=1else:print("ok")result:012345678a = 0while(a<10):print(a)a+=1else:print("ok")result:0123456789ok

例子:

牛牛在和朋友玩报数游戏,他和朋友们围成一圈,共有n个人,牛牛最初站在第m个位置。从第一个人开始报数,但凡报到3的倍数或者含三的数的人就退出圈子。请问牛牛是第几个退出圈子的人?

输入描述:

第一行输入n,n>2

第二行输入m,m<n

输出描述:

输出一个整数表示每次有人退出时那个人的编号

输出一个整数表示牛牛是第几个退出圈子的人

思路

while-for嵌套,确保这个会无限进行,然后加上两个break,一个是在牛牛是最后一个人的时候break,另一个是牛牛成为退出的人的时候break

代码:

a = int(input())b = int(input())ls = [i for i in range(1,a+1)]c = []flag = Truecout = 0num = 0while True:for i in range(1,len(ls)+1):num += 1if num % 3 == 0 or “3” in str(num):print(“编号为{}的淘汰了”.format(ls[i-1]))c.append(ls[i-1])cout += 1if ls[i-1] == b:print(“第{}个”.format(cout))flag = Falsebreakls = [i for i in range(1,a+1) if i not in c]if not flag:break

continue

continue会跳过(忽略)当次循环的剩下语句,接着开始下一次循环。多数和if一起使用,少数会出现在别的情况。

尽管continue会在if里面出现,但是一旦运行了continue,if外面的也会被跳过。

for i in range(1,3):if i % 2 == 0:continueprint(i)result:1

例子:

通过给函数 range()指定三个参数来创建一个列表my_list,其中包含 [1,10000] 中的所有奇数;再使用一个 for 循环将这些中是质数数字都打印出来(每个数字独占一行)。

思路:

先 range和迭代器一起生成一个list,然后continue搭配if判断,输出。

代码:

ls = [i for i in range(2,10001)]for i in ls:notprime = Falsefor j in range(2,i):if i % j != 0:continuenotprime = Truebreakif i == 2:notprime = Trueif not notprime:print(i)

对比

相同:

1. break 和 continue 都有着结束当前这次循环的作用

2. break 和 continue 都经常和if 搭配使用

3. break 和 continue 是单独的语句,不需要参数,也不能放在判断语句中

不同:

1. break 是跳出循环,不继续下次循环;continue是结束当前这次循环,但是还继续下次循环

2. break 对 for else 和 while else 有特殊的作用,continue没有

3. break 应用的要比continue广,多数情况下用 break 而不是 continue

郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
(0)
用户投稿
上一篇 2022年6月16日
下一篇 2022年6月16日

相关推荐

  • 燃油车时代真的会结束吗

    文/朱润民 随着能源低碳化、去碳化的逐渐深入,新能源似乎已经浸透了人类社会的每一个角落,新能源车也成为了行业的宠儿。近日有一些言论,谈能源必冠以“新”,否则就是落伍;谈车必冠以“新…

    2022年6月20日
  • 网红那些风,盘点几款精华:效果赞,人气高,让你“剁手”不停息

    网红那些风,盘点几款精华:效果赞,人气高,让你“剁手”不停息! 臻爱铂金尊宠夜间精华液 这瓶最新上市的晚间精华,主打的成分就是La Prairie独家研发的铂金胜肽成分。珍贵的铂金…

    2022年6月1日
  • 枸杞芽茶的功效与作用及冲泡方法

    枸杞芽茶是一种类似于绿茶的养生茶,它是以药用植物枸杞的鲜嫩叶子为主要原料制成的一种茶,需要时可以直接用它泡水喝,它能为身体补充丰富营养并能预防高血压,也能保护肝脏,今天为大家介绍的…

    2022年5月15日
  • 如何亲手毁掉孩子的专注力?年龄越小,伤害力越大

    孩子在嚎啕大哭, 只要一给动画片就按了暂停键。 孩子吵闹不肯乖乖吃饭, 配上动画片立刻饭来张口。 富妈相信,这是很多宝妈家的场景。 曾经的我也一样,经常被孩子烦得耐不住,直接一个i…

    2022年8月20日
  • visual studio code C语言必备扩展插件

    visual studio code是Microsoft在2015年4月30日Build开发者大会上正式宣布一个运行于 Mac OS X、Windows和 Linux 之上的,针对…

    2022年8月16日
  • 信用卡审核未通过什么时间能再次申请 答案来了

    信用卡审核未通过是常见情形了,因为如今信用卡办理条件相比之前更严格了,对于资质不好的用户是很容易被拒的,那么信用卡审核未通过什么时间能再次申请呢?下面来看介绍。 对于信用卡小白来说…

    2022年9月16日
  • 华为汽车新款车型,即将上市

    #问界M7到底动了谁的蛋糕# 国产新能源中型SUV,问界(AITO)M7即将上市。 骨子里嵌入鸿蒙HarmonyOS系统的问界M7,车友高喊的“华为汽车”,会成为哪些车型的强力对手…

    2022年6月24日
  • 2022年地球气候异常!我国8月飞雪再次出现,又是什么原因?

    2022年的气候变化太强了,我国竟然又出现了“冰火两重天”的气候现象。这让很多人再次热议到,2022年的地球气候变化真的是达到了“临界点”吗? 极端性的天气为何这么多?那这次,我国…

    2022年8月31日
  • 浙江修改失业保险条例 领取标准提高到最低工资标准的90%

    7月29日,浙江省十三届人大常委会第三十七次会议表决通过关于修改《浙江省失业保险条例》的决定,重点对失业保险金标准、领取期限、申领程序等条文进行修改完善,进一步推动失业保险制度在保…

    2022年8月4日
  • 思科交换机常用命令汇总1-以太网和vlan

    1. 以太网 1. 接口MTU和ip MTU Switch(config-if)#mtu 1500 Switch(config-if)#ip mtu 1500 Switch#sh …

    2022年6月14日

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息