[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关键字同样只可以控制它所在的循环结束
相关推荐
花酒锄作田6 小时前
企业微信机器人与 DeepAgents 集成实践
python·mcp·deepagents
SPC的存折7 小时前
1、Redis数据库基础
linux·运维·服务器·数据库·redis·缓存
爱学习的小囧7 小时前
VMware ESXi 6.7U3v 新版特性、驱动集成教程和资源包、部署教程及高频问答详情
运维·服务器·虚拟化·esxi6.7·esxi蟹卡驱动
小疙瘩8 小时前
只是记录自己发布若依分离系统到linux过程中遇到的问题
linux·运维·服务器
dldw7778 小时前
IE无法正常登录windows2000server的FTP服务器
运维·服务器·网络
likerhood8 小时前
java中`==`和`.equals()`区别
java·开发语言·python
我是伪码农9 小时前
外卖餐具智能推荐
linux·服务器·前端
qq_283720059 小时前
Python Celery + FastAPI + Vue 全栈异步任务实战
vue.js·python·fastapi
2401_885885049 小时前
营销推广短信接口集成:结合营销策略实现的API接口动态变量填充方案
前端·python
汤愈韬9 小时前
下一代防火墙通用原理
运维·服务器·网络·security