《Python语言程序设计》 —2.5.4 break

举报
华章计算机 发表于 2019/11/18 20:17:07 2019/11/18
【摘要】 本节书摘来自华章计算机《Python语言程序设计》一书中第2章,第2.5.4节,作者是王恺 王志 李涛 朱洪文。

2.5.4 break

break语句用于跳出for循环或while循环。对于多重循环情况,break语句跳出它所在的最近的那重循环。例如,对于代码清单2-24中所示的代码,其功能是求2~100之间的素数。


代码清单2-24 求2~100之间的素数

1    for n in range(2,101): #n在2~100之间取值

2        m=int(n**0.5) #m等于根号n取整

3        i=2

4        while i<=m:

5            if n%i==0: #如果n能够被i整除

6                break #跳出while循环

7            i+=1

8        if i>m: #如果i>m,则说明对于i从2~m上的取值,都不能整除n,所以n是素数

9            print(n,end=' ') #输出n


执行完毕后,输出结果为2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97。

提示 在代码清单2-24的第9行代码中,将print函数的end参数设置为“' '”(仅包含一个空格的字符串),表示将结束符由默认的回车改为了空格,使得多个素数能够输出到同一行。

在代码清单2-24中,有两重循环:第1行的for循环是外重循环,第4行的while循环是内重循环。break语句位于这两重循环中,但离break语句最近的那重循环是第4行的while循环。因此,当n%i==0成立时,通过第6行的break语句会跳出while循环(即结束当前n值的素数判断),而不会跳出for循环(即不会结束后面n值的素数判断)。

思考 请分别结合n=5和n=10这两种取值情况,分析一下代码清单2-24中第2~9行代码的执行过程。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。