[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关键字同样只可以控制它所在的循环结束
相关推荐
Yvonne爱编码1 小时前
Java 四大内部类全解析:从设计本质到实战应用
java·开发语言·python
wqwqweee1 小时前
Flutter for OpenHarmony 看书管理记录App实战:搜索功能实现
开发语言·javascript·python·flutter·harmonyos
wypywyp2 小时前
2.虚拟机一直显示黑屏,无法打开,可能是分配的硬盘空间不够
linux·运维·服务器
m0_737302582 小时前
碳足迹精准计量,华为FusionSolar助力云服务器绿色运维
服务器
-To be number.wan3 小时前
Python数据分析:numpy数值计算基础
开发语言·python·数据分析
Loo国昌4 小时前
深入理解 FastAPI:Python高性能API框架的完整指南
开发语言·人工智能·后端·python·langchain·fastapi
chinesegf4 小时前
Ubuntu 安装 Python 虚拟环境:常见问题与解决指南
linux·python·ubuntu
醉舞经阁半卷书14 小时前
Python机器学习常用库快速精通
人工智能·python·深度学习·机器学习·数据挖掘·数据分析·scikit-learn
开源技术5 小时前
Violit: Streamlit杀手,无需全局刷新,构建AI面板
人工智能·python