在 Python 3 中使用循环时如何使用 Break、Continue 和 Pass 语句

2023-11-12

介绍

Using for 循环 and while 循环Python 允许您以有效的方式自动化和重复任务。

但有时,外部因素可能会影响程序的运行方式。发生这种情况时,您可能希望程序完全退出循环,在继续之前跳过循环的一部分,或者忽略该外部因素。您可以使用以下命令执行这些操作break, continue, and pass声明。

需要部署 Python 项目并使其快速上线?查看DigitalOcean应用平台并在几分钟内直接从 GitHub 部署 Python 项目。

先决条件

您应该在计算机或服务器上安装 Python 3 并设置编程环境。如果您还没有设置编程环境,可以参考安装和设置指南本地编程环境或对于一个服务器上的编程环境适合您的操作系统(Ubuntu、CentOS、Debian 等)

中断声明

在 Python 中,break语句为您提供了在触发外部条件时退出循环的机会。你将把break循环语句下代码块中的语句,通常在条件语句之后if陈述。

Info:要按照本教程中的示例代码进行操作,请通过运行以下命令在本地系统上打开 Python 交互式 shellpython3命令。然后,您可以复制、粘贴或编辑示例,方法是将它们添加到>>> prompt.

让我们看一个使用的示例break中的声明for loop:

number = 0

for number in range(10):
    if number == 5:
        break    # break here

    print('Number is ' + str(number))

print('Out of loop')

在这个小程序中,变量number初始化为0。然后for只要变量存在,语句就构造循环number小于10。

for循环,有一个if提出条件的陈述if变量number相当于整数5,then循环将会中断。

循环内还有一个print()将在每次迭代时执行的语句for循环直到循环中断,因为它是在break陈述。

为了知道我们何时脱离循环,我们添加了最后一个print()声明之外的for loop.

当我们运行这段代码时,我们的输出将如下:

Output
Number is 0 Number is 1 Number is 2 Number is 3 Number is 4 Out of loop

这表明一旦整数number被评估为等于 5,循环中断,因为程序被告知这样做break陈述。

The break语句导致程序跳出循环。

继续声明

The continue语句使您可以选择跳过触发外部条件的循环部分,但继续完成循环的其余部分。也就是说,循环的当前迭代将被打乱,但程序将返回到循环的顶部。

The continue语句将位于循环语句下的代码块内,通常在条件语句之后if陈述。

使用相同的for循环程序如中断声明上面的部分,我们将使用continue声明而不是break陈述:

number = 0

for number in range(10):
    if number == 5:
        continue    # continue here

    print('Number is ' + str(number))

print('Out of loop')

使用上的区别continue声明而不是break声明是,尽管变量发生中断,我们的代码仍将继续number被评估为相当于 5。让我们回顾一下我们的输出:

Output
Number is 0 Number is 1 Number is 2 Number is 3 Number is 4 Number is 6 Number is 7 Number is 8 Number is 9 Out of loop

Here, Number is 5输出中永远不会出现,但循环在该点之后继续,在离开循环之前打印数字 6-10 的行。

您可以使用continue语句以避免深层嵌套的条件代码,或通过消除您想要拒绝的频繁发生的情况来优化循环。

The continue语句导致程序跳过循环中出现的某些因素,但然后继续执行循环的其余部分。

通过声明

当外部条件被触发时,pass语句允许您在不以任何方式影响循环的情况下处理条件;所有代码将继续被读取,除非break或出现其他语句。

与其他声明一样,pass语句将位于循环语句下的代码块内,通常在条件语句之后if陈述。

使用与上面相同的代码块,让我们替换break or continue声明与pass陈述:

number = 0

for number in range(10):
    if number == 5:
        pass    # pass here

    print('Number is ' + str(number))

print('Out of loop')

The pass语句发生在if条件语句告诉程序继续运行循环并忽略变量的事实number在其一次迭代期间计算结果等于 5。

我们将运行该程序并考虑输出:

Output
Number is 0 Number is 1 Number is 2 Number is 3 Number is 4 Number is 5 Number is 6 Number is 7 Number is 8 Number is 9 Out of loop

通过使用pass语句中,我们注意到程序的运行方式与程序中没有条件语句时完全相同。这pass语句告诉程序忽略该条件并继续照常运行程序。

The pass语句可以创建最小的类,或者在处理新代码并在敲定细节之前在算法级别进行思考时充当占位符。

结论

The break, continue, and passPython 中的语句将允许您使用for循环和while在代码中更有效地循环。

与更多人合作break and pass声明,您可以按照我们的项目教程“如何使用 Python 3 和 Tweepy 库创建 Twitterbot.”

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Python 3 中使用循环时如何使用 Break、Continue 和 Pass 语句 的相关文章

  • 使用 Pandas 数据框中的字数统计来删除仅包含一个单词的行

    我有一个包含 2 条记录的数据框 数据 id text 0001 The farmer plants grain 0002 tuna 我想统计一下里面的单词数text该数据框的列并删除只有一个单词的行 我知道如何计算单词数 count da
  • 按 A 列删除重复项,保留 B 列中具有最高值的行

    我有一个数据框 A 列中有重复值 我想删除重复项 保留 B 列中具有最高值的行 So this A B 1 10 1 20 2 30 2 40 3 10 应该变成这样 A B 1 20 2 40 3 10 我猜想可能有一种简单的方法可以做到
  • 将预训练的手套词嵌入与 scikit-learn 结合使用

    我已经使用 keras 来使用预先训练的词嵌入 但我不太确定如何在 scikit learn 模型上执行此操作 我也需要在 sklearn 中执行此操作 因为我正在使用vecstack集成 keras 序列模型和 sklearn 模型 这就
  • 二进制数据的Python字符串表示

    我试图理解 Python 显示表示二进制数据的字符串的方式 这是一个使用的示例乌兰多姆操作系统 http docs python org library os html os urandom In 1 random bytes os ura
  • 如何使用 QWebView 显示 html。 Python?

    如何在控制台中显示 HTML 格式的网页 import sys from PyQt4 QtGui import QApplication from PyQt4 QtCore import QUrl from PyQt4 QtWebKit i
  • 用定点迭代求解该方程

    我怎样才能解这个方程 x3 x 1 0 使用定点迭代 有没有定点迭代我可以在网上找到代码 尤其是Python 吗 Using scipy optimize fixed point http docs scipy org doc scipy
  • 在 python 中查找价格动量的有效方法:对列的最后 n 个条目求平均值

    我正在定义价格动量是给定股票过去动量的平均值n days 反过来 动量是一种分类 如果当天的收盘价高于前一天 则每天标记为 1 如果当天的收盘价低于前一天 则标记为 1 我的库存变化百分比如下 df close in percent np
  • 从内存中发送图像

    我正在尝试为 Discord 机器人实现一个系统 该系统可以动态修改图像并将其发送给机器人用户 为此 我决定使用 Pillow PIL 库 因为它对于我的目的来说似乎简单明了 这是我的工作代码的示例 它加载一个示例图像 作为测试修改 在其上
  • 带有redirect_uri的social-auth-app-django Facebook后端状态

    我知道我的问题听起来像是重复的 但我到处寻找但没有找到任何解决方案 我正在努力为我的 django web 应用程序实现社交登录 到目前为止 谷歌 推特和雅虎登录均按预期工作 但facebook总是给出以下错误 URL 被阻止 此重定向失败
  • 更新或插入 MySQL Python

    如果记录已存在 我需要更新一行 如果不存在 我需要创建一个新记录 我理解 ON DUPLICATE KEY 将使用 MYSQLdb 完成此操作 但是我无法使其正常工作 我的代码如下 cursor database cursor cursor
  • 创建 df 以生成给定格式的 json

    我正在尝试生成一个 df 来生成下面的 json Json数据 name flare children name K1 children name Exact size 4 name synonyms size 14 name K2 chi
  • 将 Selenium 与 PyCharm CE 结合使用

    我正在尝试将 Selenium 与 PyCharm CE 一起使用 我已经使用 pip install Selenium 安装了 Selenium 并且可以通过终端使用它 但是当我尝试将它与 PyCharm 一起使用时 出现导入错误 Imp
  • 如何在Python中获取套接字的外部IP?

    当我打电话时socket getsockname 在套接字对象上 它返回我的机器的内部 IP 和端口的元组 但是 我想找回我的外部IP 最便宜 最有效的方式是什么 如果没有外部服务器的配合 这是不可能的 因为您和另一台计算机之间可能存在任意
  • Python 用静态图像将 mp3 转换为 mp4

    我有x文件包含一个列表mp3我想转换的文件mp3文件至mp4文件带有static png photo 似乎这里唯一的方法是使用ffmpeg但我不知道如何实现它 我编写了脚本来接受输入mp3文件夹和一个 png photo 然后它将创建新文件
  • 使用条件在 pandas 数据框中生成新列

    我有一个 pandas 数据框 如下所示 portion used 0 1 1 0 1 2 0 3 2 3 0 0 3 4 0 8 我想根据以下内容创建一个新专栏used列 以便df看起来像这样 portion used alert 0 1
  • 访问 Scrapy 内的 django 模型

    是否可以在 Scrapy 管道内访问我的 django 模型 以便我可以将抓取的数据直接保存到我的模型中 我见过this https scrapy readthedocs org en latest topics djangoitem ht
  • 有没有比 Python 内置 == 运算符更快的方法来测试两个列表是否具有完全相同的元素?

    如果我有两个列表 每个列表有 800 个元素长并填充整数 有没有比使用内置元件更快的方法来比较它们具有完全相同的元件 如果没有 则短路 操作员 a 6 2 3 88 54 486 b 6 2 3 88 54 486 a b gt gt gt
  • 在Python中通过sys.stdout写入unicode字符串

    暂时假设一个人无法使用print 从而享受自动编码检测的好处 所以这给我们留下了sys stdout 然而 sys stdout太蠢了不做任何合理的编码 http bugs python org issue4947 现在人们阅读 Pytho
  • 在 python 中使用 re.sub 将字母变成大写?

    在许多编程语言中 以下内容 find foo a z bar并替换为GOO U 1GAR 将导致整个匹配项变为大写 我似乎无法在 python 中找到等效项 它存在吗 您可以将函数传递给re sub http docs python org
  • 捕获 SQLAlchemy 异常

    我可以使用什么捕获 SQLAlechmy 异常的上层异常 gt gt gt from sqlalchemy import exc gt gt gt dir exc ArgumentError CircularDependencyError

随机推荐

  • 如何创建和选择 MySQL 数据库

    MySQL是最流行的开源关系数据库管理系统 本教程介绍如何通过命令行创建 MySQL 或 MariaDB 数据库 在你开始之前 我们假设您的系统上已经安装了 MySQL 或 MariaDB 服务器 所有命令均以管理用户身份执行 最小特权创建
  • 如何提取(解压缩)Tar Bz2 文件

    The tar命令允许您创建和提取 tar 档案 它支持多种压缩程序 例如 gzip bzip2 lzip lzma lzop xz 和 compress Bzip2 是最流行的 tar 文件压缩算法之一 按照约定 压缩后的 tar 存档的
  • 如何检查 Linux 中的内存使用情况

    在对系统或应用程序速度缓慢或行为不当进行故障排除时 首先要检查的事情之一是系统内存使用情况 本文介绍如何使用几个不同的命令检查 Linux 中的 RAM 使用情况 free命令 free是检查Linux系统内存使用情况最常用的命令 它显示有
  • 在 CentOS 8 上使用 Let's Encrypt 保护 Apache

    Let s Encrypt 是由互联网安全研究小组 ISRG 开发的免费 自动化 开放的证书颁发机构 提供免费的 SSL 证书 Let s Encrypt 颁发的证书受到所有主要浏览器的信任 并且自颁发之日起 90 天内有效 本教程介绍如何
  • 如何在 Debian 9 上安装 WildFly (JBoss)

    WildFly 以前称为 JBoss 是一个用 Java 编写的跨平台开源应用程序运行时 可帮助您构建令人惊叹的应用程序 WildFly 灵活 轻量 并且基于可根据需要添加或删除的可插拔子系统 在本教程中 我们将引导您完成在 Debian
  • 如何在 Ubuntu 18.04 上安装 Git

    Git 是分布式版本控制系统事实上的标准 现在被大多数开发人员使用 它允许您跟踪代码更改 恢复到之前的阶段 创建分支以及与其他开发人员协作 Git 最初是由莱纳斯 托瓦尔兹Linux内核的创建者 本教程将指导您完成在 Ubuntu 18 0
  • 在 CentOS 7 上安装 Magento 2

    Magento 是一个领先的企业级电子商务平台 基于开源技术构建 将强大的功能与灵活性和用户友好的界面相结合 凭借引人入胜的购物体验 灵活的模块化架构以及企业级可扩展性和性能等功能 Magento 是大多数在线商家的首选平台 这是该系列的第
  • 如何在 CentOS 7 上安装 R

    R 是一种快速发展的开源编程语言和免费环境 专门从事统计计算和图形表示 它由 R 统计计算基金会支持 主要供统计学家和数据挖掘人员用于开发统计软件和执行数据分析 本教程将教你如何在CentOS 7上安装R以及如何从官方安装R包综合 R 档案
  • 如何在 Ubuntu 20.04 上安装 Yarn

    Yarn 是一个与 npm 兼容的 JavaScript 包管理器 可帮助您自动执行安装 更新 配置和删除 npm 包的过程 它缓存每个下载包并通过并行操作加快安装过程 在本教程中 我们将解释如何安装Yarn在 Ubuntu 20 04 上
  • 如何在 Debian 9 上安装 MongoDB

    MongoDB 是一个免费的开源文档数据库 它属于 NoSQL 数据库家族 与 MySQL 和 PostgreSQL 等传统的基于表的 SQL 数据库不同 在 MongoDB 中 数据存储在灵活的 类似 JSON字段可能因文档而异的文档 它
  • Bash if..else 语句

    本教程将引导您了解 Bash 的基础知识if声明并向您展示如何在 shell 脚本中使用它 决策是计算机编程最基本的概念之一 与任何其他编程语言一样 if if else if elif else 并嵌套ifBash 中的语句用于根据特定条
  • Java中的多重继承

    今天我们将研究Java中的多重继承 不久前我写了几篇关于遗产 界面 and 作品在Java中 在这篇文章中 我们将研究 java 多重继承 然后比较组合和继承 Java中的多重继承 Multiple inheritance in java
  • Java 中的装饰器设计模式示例

    装饰器设计模式用于在运行时修改对象的功能 同时 同一类的其他实例不会受此影响 因此单个对象会获得修改后的行为 装饰设计模式是结构设计模式之一 如适配器模式 桥梁图案 复合图案 并使用抽象类或接口作品来实施 装饰设计模式 We use inh
  • 获取R中的行数和列数

    各位读者大家好 在本文中 我们将重点讨论 R 中的行和列的概念 即R编程中获取对象的行数和列数 详细 那么 让我们开始吧 Be it a matrix or a 数据框 我们按照行和列来处理数据 在数据分析领域 尤其是统计分析 我们需要了解
  • 如何在 CentOS、Rocky Linux、RHEL 和 Fedora 上安装 Java

    介绍 本教程将向您展示如何在基于 RPM 的 Linux 发行版的当前版本上安装 Java Red Hat Enterprise Linux CentOS Fedora 和 Rocky Linux Java 是一种流行的编程语言和软件平台
  • 如何在 Ubuntu 14.04 上使用 Nginx 安装 WordPress

    介绍 WordPress 是世界上最流行的 CMS 内容管理系统 它使您可以轻松启动并运行您的网站或博客 安装后 您可以在简单的 Web 界面中管理几乎所有内容 在本指南中 我们将介绍如何在 Ubuntu 14 04 服务器上安装 Word
  • 如何使用 Nmap 和 Tcpdump 测试您的防火墙配置

    介绍 为您的基础设施设置防火墙是为您的服务提供安全性的好方法 一旦您制定了满意的策略 下一步就是测试您的防火墙规则 重要的是要充分了解您的防火墙规则是否按照您的想法进行 并了解您的基础设施在外界看来是什么样子 在本指南中 我们将介绍一些可用
  • Linux 终端简介

    介绍 本教程是 Linux 基础知识系列的第一篇 涵盖终端 Linux 命令行和执行命令的入门知识 如果您是 Linux 新手 您将需要熟悉终端 因为它是与 Linux 服务器交互的标准方式 如果您想充分利用本教程 您将需要连接和使用 Li
  • 最小堆二叉树

    A Min Heap二叉树是二叉树 其中根节点具有树中的最小键 上述定义对于树中的所有子树都适用 这被称为最小堆属性 除了最后两层之外 几乎每个节点都必须有两个子节点 也就是说 除了最后两层之外 这几乎是一个完整的二叉树 由于上述两个属性成
  • 在 Python 3 中使用循环时如何使用 Break、Continue 和 Pass 语句

    介绍 Using for 循环 and while 循环Python 允许您以有效的方式自动化和重复任务 但有时 外部因素可能会影响程序的运行方式 发生这种情况时 您可能希望程序完全退出循环 在继续之前跳过循环的一部分 或者忽略该外部因素