循环语句

news2025/7/3 6:33:16

章节目录:

    • 一、while 循环
      • 1.1 句式与基本使用
      • 1.2 while...else
      • 1.3 单行语句
    • 二、for 循环
      • 2.1 句式与基本使用
      • 2.2 for...else
      • 2.3 range() 函数
    • 三、退出循环
      • 3.1 break
      • 3.2 continue
    • 四、pass 语句
    • 五、结束语

一、while 循环

1.1 句式与基本使用

  • 句式
while 判断条件(condition):
	执行语句(statements)……
  • 基本使用
a = 1

# 从1到10,每隔1个数就进行打印。
while a < 10:
    print(a)
    a += 2
    # 1
    # 3
    # 5
    # 7
    # 9

  • 示意图

1.2 while…else

如果 while 后面的条件语句为 false 时,则执行 else 的语句块。

  • 句式
while <expr>:
    <statement(s)>
else:
    <additional_statement(s)>
  • 代码示例
a = 1
b = 3

# 如果 while 后面的条件语句为 false 时,则执行 else 的语句块。
while a <= b:
    print(a, "小于等于", b)
    a += 1
    # 1 小于等于 3
    # 2 小于等于 3
    # 3 小于等于 3
else:
    print(a, "大于", b)
    # 4 大于 3

1.3 单行语句

如果你只希望在循环中执行一行代码,可以将该行代码放在 while 循环的同一行,使用分号分隔。

  • 代码示例
num = 1

# 循环打印数字 1 到 5。
while num <= 5: print(num); num += 1
# 1
# 2
# 3
# 4
# 5

  • 请注意,虽然单行语句可以简洁,但可读性可能会受到影响
  • 因此,只有在语句非常简短且可读性不会受到严重影响的情况下,才建议使用单行语句。

二、for 循环

2.1 句式与基本使用

  • 句式
for <variable> in <sequence>:
    <statements>
else:
    <statements>
  • 遍历列表元素
elements = ["A", "B", "C", "D"]

# 遍历列表。
for e in elements:
    print(e)
    # A
    # B
    # C
    # D

  • 遍历字符串字符
word = "hello"

# 遍历字符串。
for letter in word:
    print(letter)
    # h
    # e
    # l
    # l
    # o

  • 整数范围值可以配合 range() 函数使用:
for number in range(1, 6):
    print(number)
    # 1
    # 2
    # 3
    # 4
    # 5

2.2 for…else

for item in iterable:
    # 循环主体
else:
    # 循环结束后执行的代码
  • 代码示例
for number in range(1, 6):
    print(number)
    # 1
    # 2
    # 3
    # 4
    # 5
else:
    print("finished!")
    # finished!

  • 如果在循环过程中遇到了 break 语句,则会中断循环,此时不会执行 else 子句:
for number in range(1, 6):
    print(number)
    # 1
    # 2
    # 3
    if number == 3:
        break
else:
    print("finished!")

2.3 range() 函数

可以使 range() 以指定数字开始并指定不同的增量(甚至可以是负数,有时这也叫做’步长’)。

  • 参数说明
range(stop)

"""
1.start: 计数从 start 开始。默认是从 0 开始。
	例如 range(5) 等价于 range(0, 5)

2.stop: 计数到 stop 结束,但不包括 stop。
	例如:range(0, 5) 是 [0, 1, 2, 3, 4] 没有 5

3.step:步长,默认为 1。
	例如:range(0, 5) 等价于 range(0, 5, 1)
"""

range(start, stop[, step])

  • 代码示例
# 从 0 开始,到 10 结束。步长为 3。
for i in range(0, 10, 3):
    print(i)
    # 0
    # 3
    # 6
    # 9

print("--------------")

# 甚至可以是负数。
for i in range(-10, -100, -30):
    print(i)
    # -10
    # -40
    # -70

  • 可以结合 range()len() 函数以遍历一个序列的索引:
elements = ["A", "B", "C", "D"]

# 列表长度。
length = len(elements)
# 遍历列表。
for i in range(length):
    # 通过下标获取对应值。
    print(elements[i])
    # A
    # B
    # C
    # D

  • 还可以使用 range() 函数来创建一个列表:
elements = list(range(5))
print(elements)
# [0, 1, 2, 3, 4]

三、退出循环

3.1 break

break 语句可以跳出 forwhile 的循环体。如果你从 forwhile 循环中终止,任何对应的循环 else 块将不执行

  • 代码示例
for i in range(1, 11):
    print(i)
    # 1
    # 2
    if i == 2:
        # break:循环终止。
        break
else:
    print("finished!")

3.2 continue

continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

  • 代码示例
num = 1
while num < 10:
    # 自增。
    num += 1
    # 为偶数则打印。
    if num % 2 == 0:
        print(num)
        # 2
        # 4
        # 6
        # 8
        # 10
    else:
        # 不为偶数则跳过。
        continue

四、pass 语句

Python pass空语句,是为了保持程序结构的完整性。

  • 当你暂时不想编写某个代码块的实现时,可以使用 pass填充空白,以便后续填写具体代码:
num = 1
while num <= 3:
    print(num)
    num += 1
    # 1
    # 2
    # 3
else:
    # TODO:暂时没想好 else 语句块该干嘛。
    # 使用 pass 占位。
    pass

  • 当你定义了一个函数或类,但还没有编写函数体或类的方法时,可以使用 pass 来占位:
def my_function():
    pass

class MyClass:
    def my_method(self):
        pass
  • 在这些情况下,pass 语句允许你在语法上正确地定义函数、类或控制结构,而不需要填写实际代码。
  • 它可以作为一个临时占位符,以便你在以后的时候继续实现具体逻辑。

五、结束语


“-------怕什么真理无穷,进一寸有一寸的欢喜。”

微信公众号搜索:饺子泡牛奶

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【进阶C语言】自定义类型

本节内容大致目录如下&#xff1a; 1.结构体 2.位段 3.枚举 4.联合&#xff08;共用体&#xff09; 以上都是C语言中的自定义类型&#xff0c;可以根据我们的需要去定义。 一、结构体 一些基础知识在初阶C语言的时候已经介绍过&#xff0c;在这里粗略概括&#xff1b;重…

C++基于Qt中QOpenGLWidget模块实现的画图板源码+可执行文件

基于Qt中QOpenGLWidget模块实现的画图板 一、系统概述 本系统拟完成一个画图板&#xff0c;对多种常见图形进行基本操作系统功能 二维图形的输入&#xff1a;可输入或全部清除直线、矩形、圆、椭圆、多边形、文本等二维图形的变换&#xff1a;在直线、矩形、圆、椭圆、多边形…

(七)Flask之路由转换器

引子&#xff1a; from flask import Flaskapp Flask(__name__)# 通过使用<int>转换器&#xff0c;可以捕获URL中的整数值&#xff0c;并将其作为参数传递给视图函数。 app.route(/index/<int:nid>, methods[GET, POST]) def index(nid):print(nid)return Indexi…

基于SpringBoot的知识管理系统

目录 前言 一、技术栈 二、系统功能介绍 用户管理 文章分类 资料分类 文章信息 论坛交流 资料下载 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息互联网信息的飞速发展&#xff0c;无纸化作业变成了一种趋势&#xff0c;针对这个问题开发一个…

毛玻璃带有光影效果的卡片

效果展示 页面结构组成 从效果展示可以看到&#xff0c;页面的主要元素是卡片&#xff0c;卡片的内容呈现上都是比较常规的布局&#xff0c;只是卡片上带有光影效果。 CSS / JavaScript 知识点 transformVanillaTilt.js 使用 页面基础结构实现 <div class"contain…

斯坦福数据挖掘教程·第三版》读书笔记(英文版)Chapter 10 Mining Social-Network Graphs

来源&#xff1a;《斯坦福数据挖掘教程第三版》对应的公开英文书和PPT。 Chapter 10 Mining Social-Network Graphs The essential characteristics of a social network are: There is a collection of entities that participate in the network. Typically, these entiti…

HDR-ISP_unpack_depwl_01_20231002

https://github.com/JokerEyeAdas/HDR-ISP/tree/main 1.unpack&#xff1a;解析raw图 (1)unpack&#xff1a;2个字节1个像素 (2)mipi10&#xff1a;5个字节4个像素 [p1 9:2][p2 9:2][p3 9:2][p4 9:2][(p1 1:0)(p2 1:0)(p3 1:0)(p4 1:0)] (3)mipi12&#xff1a;3个字节2个像…

音频编辑软件Steinberg SpectraLayers Pro mac中文软件介绍

Steinberg SpectraLayers Pro mac是一款专业的音频编辑软件&#xff0c;旨在帮助音频专业人士进行精细的音频编辑和声音处理。它提供了强大的频谱编辑功能&#xff0c;可以对音频文件进行深入的频谱分析和编辑。 Steinberg SpectraLayers Pro mac软件特点 1. 频谱编辑&#xff…

基于or-tools的人员排班问题建模求解(JavaAPI)

使用Java调用or-tools实现了阿里mindopt求解器的案例&#xff08;https://opt.aliyun.com/platform/case&#xff09;人员排班问题。 这里写目录标题 人员排班问题问题描述数学建模编程求解&#xff08;ortoolsJavaAPI&#xff09;求解结果 人员排班问题 随着现在产业的发展&…

Spring(JavaEE进阶系列1)

目录 前言&#xff1a; 1.Servlet与Spring对比 2.什么是Spring 2.1什么是容器 2.2什么是IoC 2.3SpringIoC容器的理解 2.4DI依赖注入 2.5IoC与DI的区别 3.Spring项目的创建和使用 3.1正确配置Maven国内源 3.2Spring的项目创建 3.3将Bean对象存储到Spring&#xff08…

21.本地存储

目录 1 保存 wx.setStorageSync() 2 获取 wx.getStorageSync() 3 删除指定的 wx.removeStorageSync() 4 清空所有 wx.clearStorageSync() 1 保存 wx.setStorageSync() 第一个参数是键&#xff0c;第二个参数是值&#xff0c;我放在生命周期函数中了&#xff0c;所以一…

怒刷LeetCode的第17天(Java版)

目录 第一题 题目来源 题目内容 解决方法 方法一&#xff1a;过滤和排序 方法二&#xff1a;迭代 第二题 题目来源 题目内容 解决方法 方法一&#xff1a;回溯算法 方法二&#xff1a;动态规划 方法三&#xff1a;DFS剪枝 方法四&#xff1a;动态规划状态压缩 方…

基于SpringBoot的高校学科竞赛平台

目录 前言 一、技术栈 二、系统功能介绍 竞赛题库管理 竞赛信息管理 晋级名单管理 往年成绩管理 参赛申请管理 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步…

【机器学习笔记】

文章目录 1.优化器讲解 1.优化器讲解

超详细的Pycharm.2023下载与安装教程

Pycharm.2023下载与安装教程 Pycharm下载Pycharm安装 Pycharm下载 Pycharm官网下载地址&#xff1a; https://www.jetbrains.com/pycharm/download/?sectionwindows#sectionwindows 进入如下界面&#xff1a;一般分为专业版本和社区版本&#xff0c;平时做深度学习的话社区版…

Ubuntu镜像源cn.arichinve.ubuntu.com不可用原因分析和解决

文章目录 Ubuntu查看系统版本Ubuntu更新系统不能更新Ubuntu查看APT更新源配置cn.archive.ubuntu.com已经自动跳转到清华镜像站Ubuntu变更镜像源地址备份原文件批量在VIM中变更 Ubuntu国内镜像站推荐推荐阅读 今天想要在Ubuntu环境下搭建一个测试环境&#xff0c;进入Ubuntu系统…

基于51单片机NEC协议红外遥控发送接收仿真设计( proteus仿真+程序+原理图+报告+讲解视频)

基于51单片机NEC协议红外遥控发送接收仿真设计 讲解视频1.主要功能&#xff1a;2.仿真3. 程序代码4. 原理图5. 设计报告6. 设计资料内容清单&&下载链接 基于51单片机NEC协议红外遥控发送接收仿真设计 51单片机红外发送接收仿真设计( proteus仿真程序原理图报告讲解视频…

查看react内置webpack版本的方法

yarn list --pattern webpack npm ls --pattern webpack

力扣-303.区域和检索-数组不可变

Idea 需计算数组nums在下标right 和 left-1 的前缀和&#xff0c;然后计算两个前缀和的差即可。 需要注意的是&#xff0c;当left为0的时候&#xff0c;如果还是left-1则会发生数组访问越界错误。 AC Code class NumArray { public:vector<int> sum;NumArray(vector<…

嵌入式学习笔记(41)SD卡启动详解

内存和外存的区别&#xff1a;一般是把这种RAM(random access memory,随机访问存储器&#xff0c;特点是任意字节读写&#xff0c;掉电丢失)叫内存&#xff0c;把ROM&#xff08;read only memory&#xff0c;只读存储器&#xff0c;类似于Flash SD卡之类的&#xff0c;用来存储…