前言

最近在回答问答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 = 0
while(a<10):
    print(a)
    if a == 8:
        break
    a =1
else:
    print("ok")

result:
0
1
2
3
4
5
6
7
8

a = 0
while(a<10):
    print(a)
    a =1
else:
    print("ok")

result:
0
1
2
3
4
5
6
7
8
9
ok

例子

题目来源:牛客网编程NP9报数游戏

牛牛在和朋友玩报数游戏,他和朋友们围成一圈,共有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 = True
cout = 0
num = 0
while True:
    for i in range(1,len(ls) 1):
        num  = 1
        if num % 3 == 0 or "3" in str(num):
            print("编号为{}的淘汰了".format(ls[i-1]))
            c.append(ls[i-1])
            cout  = 1
            if ls[i-1] == b:
                print("第{}个".format(cout))
                flag = False
                break
    ls = [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:
        continue
    print(i)

result:
1

例子

题目来源:牛客网编程NP17前十个偶数

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

思路:

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

代码:

ls = [i for i in range(2,10001)]
for i in ls:
    notprime = False
    for j in range(2,i):
        if i % j != 0:
            continue
        notprime = True
        break
    if i == 2:
        notprime = True
    if 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

到此这篇关于Python详细对比讲解break和continue区别的文章就介绍到这了,更多相关Python break和continue内容请搜索Devmax以前的文章或继续浏览下面的相关文章希望大家以后多多支持Devmax!

Python详细对比讲解break和continue区别的更多相关文章

  1. 如何在iOS / Swift的顶部导航栏中添加“继续”按钮

    我想在导航栏的右侧添加一个“继续”按钮.如何实现这一目标?我一直在尝试使用UIBarButtonItem上的一些方法,但无法使其正常工作.我迄今为止的最大努力是:但我在第一行遇到错误.它不喜欢“style”参数.我也试过了但没有运气.仍然停留在样式参数上.有任何想法吗?

  2. XCode 3.2 Ruby和Python模板

    在xcode3.2下,我的ObjectiveCPython/Ruby项目仍然可以打开更新和编译,但是你无法创建新项目.鉴于xcode3.2中缺少ruby和python的所有痕迹(即创建项目并添加新的ruby/python文件),是否有一种简单的方法可以再次安装模板?我发现了一些关于将它们复制到某个文件夹的信息,但我似乎无法让它工作,我怀疑文件夹的位置已经改变为3.2.解决方法3.2中的应用程序模板

  3. Swift基本使用-函数和闭包(三)

    声明函数和其他脚本语言有相似的地方,比较明显的地方是声明函数的关键字swift也出现了Python中的组元,可以通过一个组元返回多个值。传递可变参数,函数以数组的形式获取参数swift中函数可以嵌套,被嵌套的函数可以访问外部函数的变量。可以通过函数的潜逃来重构过长或者太复杂的函数。

  4. Swift控制转移语句

    在Swift语言中,控制转移语句可以改变代码的执行顺序,通过它可以实现代码的跳转。continue在Swift语言中,continue语句告诉一个循环立刻停止本次循环,重新开始下次循环。break在Swift语言中,break语句会立刻结束整个控制流的执行,当想更早的结束一个swift代码块或者一个循环体时,都可以使用break语句来实现。fallthrough在Swift语言中,switch不会从上一个case分支落入到下一个case。return在Swift语言中,使用return,直接停止该方法体的

  5. 10 个Python中Pip的使用技巧分享

    众所周知,pip 可以安装、更新、卸载 Python 的第三方库,非常方便。本文小编为大家总结了Python中Pip的使用技巧,需要的可以参考一下

  6. Swift快速入门四流程控制

    相关文章Swift快速入门(一)第一个Swift程序Swift快速入门(二)基本数据类型Swift快速入门(三)运算符1.分支结构Swift提供两种常见的分支控制结构:if语句和swich语句。一般来说,当条件简单且可能情况较少时使用if语句;当条件比较复杂情况较多时则可以考虑使用swich语句。for-in循环的基本语法格式如下:下面程序使用for-in循环遍历范围:3.控制循环Swift提供了break和continue来控制循环;另外return也可以通过结束整个方法来结束循环。

  7. Swift、Go、Julia与R能否挑战 Python 的王者地位

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  8. 4.6 Swift中循环语句中的转移语句 break 和 continue

    /**循环语句中的转移语句break和continue*/letarray:Array=[3,4,5,6,7,8,9]forkinarray{ifk==5{print(k)break}}print("--------->")forkinarray{ifk==5{//结束本次循环,进入下一次循环continue;}print("==\(k)")}print("--------->")/**'init

  9. 红薯因 Swift 重写开源中国失败,貌似欲改用 Python

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  10. 你没看错:Swift可以直接调用Python函数库

    上周Perfect又推出了新一轮服务器端Swift增强函数库:Perfect-Python。对,你没看错,在服务器端Swift其实可以轻松从其他语种的函数库中直接拿来调用,不需要修改任何内容。以如下python脚本为例:Perfect-Python可以用下列方法封装并调用以上函数,您所需要注意的仅仅是其函数名称以及参数。

随机推荐

  1. 10 个Python中Pip的使用技巧分享

    众所周知,pip 可以安装、更新、卸载 Python 的第三方库,非常方便。本文小编为大家总结了Python中Pip的使用技巧,需要的可以参考一下

  2. python数学建模之三大模型与十大常用算法详情

    这篇文章主要介绍了python数学建模之三大模型与十大常用算法详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感想取得小伙伴可以参考一下

  3. Python爬取奶茶店数据分析哪家最好喝以及性价比

    这篇文章主要介绍了用Python告诉你奶茶哪家最好喝性价比最高,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧

  4. 使用pyinstaller打包.exe文件的详细教程

    PyInstaller是一个跨平台的Python应用打包工具,能够把 Python 脚本及其所在的 Python 解释器打包成可执行文件,下面这篇文章主要给大家介绍了关于使用pyinstaller打包.exe文件的相关资料,需要的朋友可以参考下

  5. 基于Python实现射击小游戏的制作

    这篇文章主要介绍了如何利用Python制作一个自己专属的第一人称射击小游戏,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起动手试一试

  6. Python list append方法之给列表追加元素

    这篇文章主要介绍了Python list append方法如何给列表追加元素,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  7. Pytest+Request+Allure+Jenkins实现接口自动化

    这篇文章介绍了Pytest+Request+Allure+Jenkins实现接口自动化的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  8. 利用python实现简单的情感分析实例教程

    商品评论挖掘、电影推荐、股市预测……情感分析大有用武之地,下面这篇文章主要给大家介绍了关于利用python实现简单的情感分析的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

  9. 利用Python上传日志并监控告警的方法详解

    这篇文章将详细为大家介绍如何通过阿里云日志服务搭建一套通过Python上传日志、配置日志告警的监控服务,感兴趣的小伙伴可以了解一下

  10. Pycharm中运行程序在Python console中执行,不是直接Run问题

    这篇文章主要介绍了Pycharm中运行程序在Python console中执行,不是直接Run问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

返回
顶部