[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)

  5. 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关键字同样只可以控制它所在的循环结束
相关推荐
Scott9999HH3 小时前
【IIoT流量实战】蒸汽管道阀门全关却仍有流量?用 Python 实现涡街信号 FFT 频谱分析与温压全补偿积算网关,深度拆解靠谱的涡街流量计厂家硬核技术标准
开发语言·python
AI云海4 小时前
python 列表、元组、集合和字典
开发语言·python
二十雨辰4 小时前
[爬虫]-Urllib
爬虫·python
玉鸯6 小时前
Agent Hook:在概率推理之上,为 Agent 叠加确定性控制
python·langchain·agent
weixin_446260856 小时前
HACO:面向动态部署环境的对冲式智能计算可靠多智能体调度框架
后端·python·flask
我的xiaodoujiao7 小时前
API 接口自动化测试详细图文教程学习系列32--Allure测试报告2
python·学习·测试工具·pytest
吳所畏惧7 小时前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh
DFT计算杂谈7 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
qetfw7 小时前
MXU:Tauri 2 + React 的 MaaFramework 跨平台 GUI 源码
前端·python·react.js·前端框架·开源项目·效率工具