Python开发 ——循环中的 `continue` 语句

1. 基本概念

        `continue` 语句用于跳过当前循环的剩余部分,直接进入下一次循环。这在某些情况下非常有用,比如当特定条件满足时,希望跳过某些操作。

2. 基本示例

for i in range(1, 11):
    if i % 3 == 0:
        continue
    print(i, end=' ')

        输出:

1 2 4 5 7 8 10

        在这个示例中,当 `i` 可以被 3 整除时,`continue` 语句跳过当前循环的剩余部分,进入下一次循环,因此不会打印 `3`, `6`, 和 `9`。

3. 在不同场景中的应用

3.1 跳过负数

        假设你有一个列表,其中包含正数和负数,你希望打印所有的正数。

numbers = [-1, 2, -3, 4, -5, 6]

for number in numbers:
    if number < 0:
        continue
    print(number, end=' ')

        输出:

2 4 6

3.2 跳过某些特定字符

        假设你有一个字符串,想要打印出除了某些特定字符以外的所有字符。

text = "Hello, World!"

for char in text:
    if char in ",!":
        continue
    print(char, end='')

        输出:

Hello World

3.3 跳过偶数

        假设你想打印1到10之间的奇数。

for i in range(1, 11):
    if i % 2 == 0:
        continue
    print(i, end=' ')

        输出:

1 3 5 7 9

4. 嵌套循环中的 `continue`

        在嵌套循环中,`continue` 语句只会影响它所在的那一层循环。

for i in range(1, 4):
    for j in range(1, 4):
        if j == 2:
            continue
        print(f"i = {i}, j = {j}")

        输出:

i = 1, j = 1
i = 1, j = 3
i = 2, j = 1
i = 2, j = 3
i = 3, j = 1
i = 3, j = 3

        在这个示例中,当 `j` 等于 2 时,内层循环跳过当次循环,外层循环不受影响。

5. `continue` 结合其他条件

        你可以结合多个条件使用 `continue` 语句。例如,跳过所有负数和零的情况。

numbers = [-1, 0, 1, 2, -3, 3, 0, 4]

for number in numbers:
    if number <= 0:
        continue
    print(number, end=' ')

输出:

1 2 3 4

6. 更复杂的条件判断

6.1 结合多个条件

        假设你有一个数字列表,想要打印出所有的正数,且这些正数不是3的倍数。

numbers = [-10, -3, 0, 1, 2, 3, 4, 9, 12]

for number in numbers:
    if number <= 0 or number % 3 == 0:
        continue
    print(number, end=' ')

输出:

1 2 4

6.2 忽略特定字符的输入

        假设你在处理用户输入的字符串,并希望忽略所有的空白字符和标点符号,只保留字母和数字。

input_string = "Hello, World! 123"

for char in input_string:
    if char.isspace() or char in ",!":
        continue
    print(char, end='')

        输出:

HelloWorld123

7. 使用 `continue` 来优化算法

7.1 寻找质数

        在寻找质数的过程中,可以使用 `continue` 来跳过非质数的情况,从而提高效率。

for num in range(2, 20):
    for i in range(2, num):
        if num % i == 0:
            break
    else:
        print(num, end=' ')

输出:

2 3 5 7 11 13 17 19

7.2 跳过不需要处理的文件

        假设你在处理一批文件,需要跳过所有的临时文件(文件名以 `~` 开头)。

file_list = ["file1.txt", "~tempfile.txt", "file2.txt", "~backup.txt", "file3.txt"]

for file_name in file_list:
    if file_name.startswith("~"):
        continue
    print(f"Processing {file_name}")

        输出:

Processing file1.txt
Processing file2.txt
Processing file3.txt

8. 在生成器中使用 `continue`

        生成器在处理大量数据时非常有用,`continue` 可以用于跳过不需要的项。

def filter_numbers():
    for num in range(10):
        if num % 2 == 0:
            continue
        yield num

for number in filter_numbers():
    print(number, end=' ')

        输出:

1 3 5 7 9

9. 与 `try` 块结合使用

        在某些情况下,可能需要处理异常,并在发生特定异常时跳过当前循环。

data = ["123", "abc", "456", "def"]

for item in data:
    try:
        number = int(item)
    except ValueError:
        continue
    print(number, end=' ')

        输出:

123 456

10. 忽略特定条件的用户输入

        假设你有一个用户输入的列表,并希望忽略所有为空或仅包含空白字符的输入。

user_inputs = ["hello", " ", "", "world", "python", "   "]

for user_input in user_inputs:
    if not user_input.strip():
        continue
    print(user_input)

        输出:

hello
world
python

11. 在数据清洗中使用 `continue`

        在清洗数据时,常常需要跳过不符合条件的数据。

raw_data = ["John,25", "Doe,abc", "Jane,30", "Smith,"]

for entry in raw_data:
    parts = entry.split(',')
    if len(parts) != 2 or not parts[1].isdigit():
        continue
    name, age = parts
    print(f"Name: {name}, Age: {age}")

        输出:

Name: John, Age: 25
Name: Jane, Age: 30

        通过这些综合示例,你可以更好地理解和应用 `continue` 语句,以优化代码,提高程序的健壮性和可读性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/784874.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

多用户挂售转卖竞拍闪拍商城系统/NFT数藏系统/后端PHP+前端UNIAPP源码带教程(亲测源码)

挂售转卖竞拍商城系统源码/竞拍系统/转拍闪拍系统/后端PHP前端UNiapp源码 亲测可用 1、后台管理&#xff1a;系统管理员通过后台可以轻松添加商品进行挂单。这包括商品的详细信息&#xff0c;如名称、描述、价格、库存等。 商品展示&#xff1a;挂单后的商品会在商城前端进行…

22.状态机设计--可乐机设计(投币三元出一瓶可乐)

理论知识&#xff1a; &#xff08;1&#xff09;状态机简写为FSM&#xff08;Finite State Machine&#xff09;&#xff0c;也称为同步有限状态机。同步是指状态的变化都是在时钟的边沿发送变化&#xff0c;有限值得是状态的个数是可数的。 &#xff08;2&#xff09;分类&…

Xilinx FPGA DDR4 接口的 PCB 准则

目录 1. 简介 1.1 FPGA-MIG 与 DDR4 介绍 1.2 DDR4 信号介绍 1.2.1 Clock Signals 1.2.2 Address and Command Signals 1.2.3 Address and Command Signals 1.2.4 Data Signals 1.2.5 Other Signals 2. 通用存储器布线准则 3. Xilinx FPGA-MIG 的 PCB 准则 3.1 引脚…

ElasticSearch第一天

学习目标&#xff1a; 能够理解ElasticSearch的作用能够安装ElasticSearch服务能够理解ElasticSearch的相关概念能够使用Postman发送Restful请求操作ElasticSearch能够理解分词器的作用能够使用ElasticSearch集成IK分词器能够完成es集群搭建 第一章 ElasticSearch简介 1.1 什么…

【Unity2D 2022:】制作NPC

一、创建NPC角色 1. 创建JambiNPC并同时创建Jambi站立动画 &#xff08;1&#xff09;点击第一张图片&#xff0c;按住shift不松&#xff0c;再选中后两张图片&#xff0c;拖到层级面板中 &#xff08;2&#xff09;将动画资源文件保存到Animation Clips文件夹中 &#xff08;…

YOLOv10改进 | 损失函数篇 | InnerIoU、InnerSIoU、InnerWIoU、FocusIoU等损失函数

一、本文介绍 本文给大家带来的是YOLOv10最新改进&#xff0c;为大家带来最近新提出的InnerIoU的内容同时用Inner的思想结合SIoU、WIoU、GIoU、DIoU、EIOU、CIoU等损失函数&#xff0c;形成 InnerIoU、InnerSIoU、InnerWIoU、等新版本损失函数&#xff0c;同时还结合了Focus和…

PHP源码:线上书店系统(附管理后台+前台)

一. 前言 今天小编给大家带来了一款可学习&#xff0c;可商用的&#xff0c;线上书店 源码&#xff0c;支持二开&#xff0c;无加密。项目的内容是销售书籍&#xff0c;可以扩展成pdf&#xff0c;文档等一些虚拟产品的销售。 详细界面和功能见下面视频演示。 二. 视频演示 线…

一个php文件怎么实现联系表单自动发送邮件

学习PHP&#xff1a;如何编写一个自动发送邮件的联系表单处理器&#xff1f; 无论是反馈意见、业务咨询&#xff0c;还是技术支持&#xff0c;联系表单都能为用户提供便捷的交流途径。AokSend将探讨如何通过一个PHP文件实现联系表单的自动发送邮件功能。 php文件&#xff1a;…

【豆包AI】北京春田知韵

看到有国内AI上线了&#xff0c;网络信息那么多&#xff0c;我该怎么找它的官网呢&#xff1f; 找官方网站3步 1百度 关于抖音豆包的网站是哪个?【www.doubao.com】 豆包属于哪个公司&#xff1f;【北京春田知韵科技有限公司】 www.doubao.com 2查询备案号 PC版本的安装…

外卖跑腿小程序APP软件成品系统和软甲开发APP小程序可进行封装打包

&#xff0c;用户友好界面设计 首先&#xff0c;外卖施限小程序APP应具备用户友好的界面设计。界面应简洁明了&#xff0c;让用户能够方便快捷地议,览和选择所需的菜品或服务。系统应提供详细的菜品描述、价格透明&#xff0c;并允许用户根据口味、偏好进行结进和排序。此外&am…

如何保证队列消息的有序性

要保证队列消息的有序性&#xff0c;你可以采取以下几种策略&#xff1a; 1.单一生产者和消费者&#xff1a;确保只有一个生产者向队列发送消息&#xff0c;以及只有一个消费者从队列接收消息&#xff0c;这样可以保证消息的顺序。 2.使用有序集合&#xff1a;如果你使用Redis&…

GPU发展史(二):改变游戏规则的3Dfx Voodoo

小伙伴们&#xff0c;大家好呀&#xff0c;我是老猫。 在上一篇GPU发展史&#xff08;一&#xff09;文章中&#xff0c;我们介绍了1976-1995期间早期显卡的发展故事&#xff0c;今天我们将介绍在1995-1999年这段时间显卡的故事&#xff0c;而这段故事的主角就是——3Dfx 提起…

在idea中查看某个接口的所有实现类图

一、选中某个接口右键 ---> Diagrams ---> show Diagrams&#xff0c;然后就会进入一个新的 tab 页&#xff1b; 二、然后在出来的图上选中某个接口右键 ---> show Implementations&#xff0c;就会显示选中接口的所有实现类列表&#xff1b; 三、最后 ctrl A 全部选…

StarRocks下载使用说明和基础操作

简介 StarRocks 是一款高性能分析型数据仓库&#xff0c;使用向量化、MPP 架构、CBO、智能物化视图、可实时更新的列式存储引擎等技术实现多维、实时、高并发的数据分析。StarRocks 既支持从各类实时和离线的数据源高效导入数据&#xff0c;也支持直接分析数据湖上各种格式的数…

普中51单片机:矩阵按键扫描与应用详解(五)

文章目录 引言电路图开发板IO连接矩阵键盘的工作原理行列扫描逐行/逐列扫描 LCD1602代码库代码演示——暴力扫描代码演示——数码管(行列式)代码演示——线翻转法代码演示——LCD1602密码锁 引言 矩阵按键是一种通过行列交叉连接的按键阵列&#xff0c;可以有效地减少单片机I/…

萝卜快跑的狠活

萝卜快跑作为百度旗下的自动驾驶出行服务平台&#xff0c;在科技应用上展现了多项领先的技术。以下是萝卜快跑采用的一些主要科技“狠活”&#xff1a; 自动驾驶技术&#xff1a; 萝卜快跑主要使用了百度Apollo的L4级自动驾驶技术&#xff0c;该技术能够应对海量的城市道路场景…

Vue的常见指令

目录 1.v-bind 2. class绑定 3.style绑定 4.v-if/v-show 1.v-bind v-bind指令用于绑定属性 可以简写成 “ &#xff1a;” 它的作用就是我们可以动态的定义属性的值&#xff0c;比如常见的<img src "1.jpg"> 我们如果想要修改图片就需要获取到DOM对象&am…

Nginx:关于实现跨域代理

运维专题 Nginx&#xff1a;关于实现跨域代理 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.ne…

科普文:分布式系统的架构设计模式

一、分布式架构基本概念 分布式架构是一种计算机系统设计方法&#xff0c;它将一个复杂的系统划分为多个自治的组件或节点&#xff0c;并通过网络进行通信和协作。每个组件或节点在功能上可以相互独立&#xff0c;但又能够通过消息传递或共享数据来实现协同工作。分布式架构主要…

为什么独立站需要高质量的GPB外链?

独立站需要高质量的GPB外链&#xff0c;主要是因为它们能显著提升网站的可信度和可见性。高质量的外链相当于得到其他权威网站的认可和推荐&#xff0c;这会让搜索引擎认为你的内容有价值&#xff0c;从而提升你的搜索排名。试想一下&#xff0c;当其他有影响力的网站愿意链接到…