news 2026/5/30 1:49:49

[python]-循环语句

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[python]-循环语句

while循环

while循环语句

  1. 只要条件满足会无限循环执行

  1. while的条件需得到布尔类型,True表示继续循环,False表示结束循环
  2. 需要设置循环终止的条件,如 i +=1 配合 i < 100,就能确保100次后停止,否则将无限循环
  3. 空格缩进和 if 判断一样,都需要设置

嵌套循环

  1. 表白100天每一天都会送10朵玫瑰花
  2. 同判断语句的嵌套一样,循环语句的嵌套,要注意空格缩进。
  3. 基于空格缩进来决定层次关系
  4. 注意条件的设置,避免出现无限循环 (除非真的需要无限循环)

补充知识

print输出不换行

  1. 默认print()语句输出内容会自动换行

  1. 添加方法参数, 是内容不换行

在字符串中,有一个特殊符号: \t

  1. 它可以让我们的多行字符串进行对齐。
  2. \t 制表符 相当于键盘按tab键,默认按4个宽度补齐空格

while循环的嵌套案例

通过while循环,输出如下九九乘法表内容

  1. 外层循环控制打印行 (row)
  2. 内层循环控制打印列 (col0
  3. 控制条件是 col <= row
# 打印九九乘法表 row = 1 while row <= 9: col = 1 print() while col <= row: print(f"{col} * {row} = {row * col}", end="\t") col += 1 row+=1

for循环

除了while循环语句外,Python同样提供了for循环语句。

  1. 两者能完成的功能基本差不多,但仍有一些区别:
  2. while循环的循环条件是自定义的,自行控制循环条件
  3. for循环是一种"轮询"机制,是对一批内容进行"逐个处理"

  1. 语法

遍历字符串

  1. 运行结果

  1. 可以看出,for循环是将字符串的内容: 依次取出
  2. 所以,for循环也被称之为: 遍历循环
  3. 同while循环不同,for循环是无法定义循环条件的。只能从被处理的数据集中,依次取出内容进行处理。
  4. 所以,理论上讲,Python的for循环无法构建无限循环 (被处理的数据集不可能无限大)

range() 语句

  1. 语法中的: 待处理数据集,严格来说,称之为: 可迭代类型
  2. 可迭代类型指,其内容可以一个个依次取出的一种类型,包括:
  • 字符串
  • 列表
  • 元组
  1. 目前我们只学习了字符串类型,其余类型在后续章节会详细学习它们
  2. for循环语句,本质上是遍历: 可迭代对象。
  3. 尽管除字符串外,其它可迭代类型目前没学习到,但不妨碍我们通过学习range语句,获得一个简单的数字序列 (可迭代类型的一种)。
  4. 语法
# 语法1 # 获取一个从0开始, 到num结束的数字序列 (不含num本身)(包前不包后) # 如range(5) 得到的数据是 [0,1,2,3,4] range(num) # 语法2 # 获取一个从num1开始, 到num2结束的数字序列 (不含num2本身) # 如range(5, 10) 得到的数据是 [5,6,7,8,9] range(num1, num2) # 语法3 # 获取一个从num1开始, 到num2结束的数字序列 (不含num2本身) # 数字之间的步长, 以setup为准 (setup默认1) # 如range(5, 10, 2) 得到的数据是 [5,7,9] range(num1, num2, setup)
  1. for循环遍历range序列
# range的用途很多,多数用在for循环场景 for i in range(5): print(i)

变量作用域

  1. 回看for循环的语法,我们会发现,将从数据集(序列)中取出的数据赋值给临时变量
  2. 临时变量,在编程规范上,作用范围(作用域),只限定在for循环内部
  3. 如果在for循环外部访问临时变量,
  • 在python中是可以访问到的, 其他语言会报错
  • 在编程规范上,是不允许、强烈不建议这么做的
  1. 如果实在需要在循环外访问循环内的临时变量,可以在循环外预先定义

  1. 变量的作用域受到缩进层级的控制, 外层程序不能访问内层变量, 内层程序可以访问外层变量

for循环的嵌套

同while一样,for循环也支持嵌套使用

while循环和for循环。这两类循环语句是可以相互嵌套的,如

使用for循环打印九九乘法表

# 使用for循环打印九九乘法表 for i in range(1, 10): print() for j in range(1, i + 1): print(f"{j} * {i} = {i * j}", end="\t")

循环中断

无论是while循环或是for循环,都是重复性的执行特定操作, 在这个重复的过程中,会出现一些其它情况

  1. 暂时跳过某次循环,直接进行下一次
  2. 提前退出循环,不在继续

continue关键字用于: 中断本次循环,直接进入下一次循环

  1. continue可以用于for循环和while循环,效果一致
  2. 在循环内,
  • 遇到continue就结束当次循环,进行下一次
  • 所以,语句2是不会执行的。
  1. continue关键字只可以控制它所在的循环, 外层循环不受影响

break关键字用于: 直接结束循环

  1. break可以用于for循环和while循环,效果一致
  2. 在循环内,
  • 遇到break就结束循环了
  • 所以,执行了语句1后,直接执行语句3了
  1. break关键字同样只可以控制它所在的循环结束

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/29 9:29:43

利用Multisite实现WordPress多语言网站

利用WordPress Multisite(多站点)实现多语言网站&#xff0c;核心是将每种语言对应为一个独立子站点&#xff0c;通过统一的网络管理实现多语言布局&#xff0c;同时兼顾站点隔离性与基础的语言互通性。以下是完整、可落地的实操步骤&#xff0c;从开启多站点到SEO优化、功能增…

作者头像 李华
网站建设 2026/5/30 4:51:32

全方位谈判兵法——从底层逻辑到高手实战的20堂必修课

这是一篇基于刘碧荣教授20讲谈判课程录音整理、重构与润色的深度文章。文章剔除了口语赘述&#xff0c;修正了部分听录错误&#xff0c;并对核心知识体系进行了逻辑化的章节重组。 刘碧荣教授亲授&#xff1a;全方位谈判兵法——从底层逻辑到高手实战的20堂必修课 前言&#x…

作者头像 李华
网站建设 2026/5/23 16:46:15

Spring 6.0基于JDB手写定制自己的ROM框架

ORM 用面向对象的方式操作关系型数据库 开发者操作的是 对象&#xff08;Object&#xff09; ORM 框架负责把对象 自动映射 为&#xff1a; SQL 表&#xff08;Table&#xff09; 行&#xff08;Row&#xff09; 列&#xff08;Column&#xff09; 目标&#xff1a; 减…

作者头像 李华
网站建设 2026/5/24 23:13:29

互联网大厂Java面试实录:Spring Boot微服务在电商场景中的应用与挑战

互联网大厂Java面试实录&#xff1a;Spring Boot微服务在电商场景中的应用与挑战 在现代互联网电商平台中&#xff0c;微服务架构已成为支撑业务灵活扩展和高可用性的关键技术。本文通过一场互联网大厂Java开发岗位的模拟面试&#xff0c;展现了面试官与求职者谢飞机的问答过程…

作者头像 李华
网站建设 2026/5/29 4:56:21

Flutter + OpenHarmony 垂直列表:ListView 组件在手机上的性能优化实践

个人主页&#xff1a;ujainu 前言 在当前仅面向手机设备的开发场景中&#xff0c;ListView 是构建消息流、商品列表、设置页等垂直滚动内容的首选组件。虽然使用简单&#xff0c;但若不了解其内部机制和关键属性&#xff0c;极易写出卡顿、内存高、体验差的列表。 本文将从两…

作者头像 李华
网站建设 2026/5/20 16:54:25

flash-attention总是安装失败

大家有时候在执行下面命令安装flash-attention的时候经常会报错pip install flash-attn --no-build-isolation遇到这种情况&#xff0c;可以从源码进行安装git clone https://github.com/Dao-AILab/flash-attention.git cd flash-attention # RTX 4090的话就是8.9 export TORCH…

作者头像 李华