内容正文:
循环结构
Python程序编写入门
(高教版)
学习目标
掌握for循环与while循环的语法及执行流程;理解range()函数与random模块的用法;掌握循环嵌套逻辑及break、continue、pass语句的区别。
能使用for循环处理确定次数的遍历问题;能使用while循环处理不确定次数的重复操作;能利用嵌套循环解决图形打印与排序算法等实际编程问题。
通过算法逻辑训练提升计算思维,养成严谨规范的代码编写习惯;深入理解程序执行效率与算法时间复杂度的关系,逐步建立优化程序性能的意识。
1
2
3
知识目标
技能目标
素质目标
目录
for循环与range函数
while循环与随机数
循环嵌套与冒泡排序
循环控制语句
教学引入
思考:如何让计算机像人一样,自动完成重复性的计算任务?
知识讲授
for 循环
一种经典的遍历型循环结构,专门用于依次访问序列(如列表、字符串、元组)或由range()生成的连续数值序列。它的执行次数在循环开始前即可确定,如同按名单依次点名,逐个处理容器中的每一个元素,逻辑直观且易于控制,是Python中批量处理数据的首选方式。
while 循环
基于条件判断的循环控制方式,只要指定的布尔条件为True,就会持续执行缩进的代码块,直到条件变为False时自动终止。它更适合处理循环次数无法提前预知的场景,就像忠诚的哨兵,只要任务目标未达成(条件满足),就会始终坚守岗位,是实现动态循环逻辑的核心工具。
for循环与range函数
第一部分
知识讲授
for循环
知识讲授
for循环的基本语法与流程
可以看出,for循环是将字符串的内容:依次取出
所以,for循环也被称之为:遍历循环
for循环是Python中实现“遍历”的核心结构,专门用于依次访问序列(如字符串、列表、元组)中的每个元素。它无需手动控制循环次数,能自动完成从首元素到尾元素的迭代过程,是处理批量数据最常用的工具。
知识讲授
for循环示例
for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
实例演示:
无for循环
有for循环
知识讲授
内置range()函数
循环迭代的基础引擎
构建有序数字序列的核心工具
01 核心作用
Python内置的整数序列生成器,专为循环设计。它能高效创建连续或自定义步长的数字范围,是实现计数、遍历、重复执行等逻辑的基石。
02 语法结构
格式:range(start, stop, step)
• start:起始值(可选,默认0)
• stop:结束值(必填,序列不包含此值)
• step:步长(可选,默认1,支持负数)
知识讲授
Python的缩进
背诵记忆
序号 核心考点 记忆要点与核心解析
01 range() 序列生成 用于生成整数序列,核心遵循“左闭右开”原则(包含起始值,不包含终止值),是控制循环次数的基础工具。
记忆口诀:“左含右舍,等差生成”
02 for 循环迭代 用于遍历字符串、列表等可迭代对象,自动逐个获取元素,循环次数由序列长度决定,属于确定次数的循环。
记忆口诀:“遍历取值,次数既定”
03 缩进与代码块 Python通过缩进(规范为4个空格)划分代码块归属,循环体必须缩进,无缩进会触发语法错误,是区分代码层级的关键。
记忆口诀:“缩进定块,四格为规”
课堂练习
单选题
关于 Python 中range()、for 循环与缩进,下列说法正确的是()
A. range (1,5) 会生成 1、2、3、4、5 五个整数
B. for 循环只能配合 range () 使用,不能遍历字符串
C. for 循环的循环体代码必须做缩进,推荐使用 4 个空格作为缩进量
D. 代码缩进多一个空格,程序一定可以正常运行
答案:C
解析:
A 错误:range()遵循左闭右开原则,range(1,5)生成 1、2、3、4,不包含终止值 5。
B 错误:for 循环属于迭代循环,可以遍历字符串、列表等各类可迭代对象,不是只能配合 range ()。
C 正确:Python 依靠缩进划分代码块,for 循环的循环体必须缩进,编码规范推荐 4 个空格作为一个缩进量,对应口诀 “缩进定块,四格为规”。
D 错误:缩进代表代码层级,缩进空格数错乱、不一致,会直接触发语法错误,程序无法正常执行。
while循环
第二部分
知识讲授
while循环
知识讲授
while循环的基本语法
循环逻辑与核心特性解析
01 核心定义:基于条件表达式的真假,决定是否重复执行代码块,属于“先判断后执行”的结构。
02 基础语法:while 条件表达式:(冒号不可少)
循环体语句(需保持缩进,通常4个空格)
03 执行流程:条件为True → 执行循环体 → 重新判断条件;
条件为False → 直接退出循环,执行后续代码。
04 避坑关键:必须在循环体内修改循环变量,否则会陷入“死循环”;循环次数通常不确定,依赖条件变化。
💡 图示解析:菱形代表“条件判断”,矩形代表“执行语句”。
箭头的闭环体现了“重复执行”的核心逻辑,直到条件不满足才跳出。
知识讲授
while循环语句的基本形式
Python while 语句执行过程:
知识讲授
Python中random模块
01 模块简介:内置随机数工具Python自带的标准库,无需额外安装,专门用于生成各种伪随机数,是实现程序“不确定性”的核心工具。
02 核心函数:randint(x, y)生成 [x, y] 闭区间内的随机整数,包含两端数值。区别于range的左闭右开,这是实现猜数字游戏的关键。
背诵记忆
序号 名称 核心说明与记忆要点
01 while 循环 当条件表达式结果为真时,重复执行循环体内的代码。记忆核心:循环的开启与终止完全由条件表达式控制,条件为假则退出。
02 randint() 函数 用于生成指定范围内的随机整数,语法为 randint(a, b)。关键记忆:生成的随机数包含区间的两个端点 a 和 b,是闭区间特性。
03 random 模块 Python 标准库中负责生成伪随机数的模块,包含多种随机相关函数。记忆要点:使用模块内的函数前,必须先执行 import random 导入。
课堂练习
简易加法计算器的实现逻辑
需求:实现用户连续输入数字进行累加求和,直到输入字母“q”时停止并输出最终结果。
思考引导:
① 如何初始化累加的总和?
② 怎样用循环持续接收输入?
③ 核心关键:需先判断输入是否为“q”,非“q”时再转换为数值累加,如何处理输入类型的不确定性?
参考代码:
运行示例:
循环嵌套
第二部分
知识讲授
循环嵌套
知识讲授
例题2:猜数字游戏
01 需求与场景:经典多分支交互
场景描述:程序预设一个目标数字(如 target = 25),接收用户输入的猜测值 x,通过逻辑判断输出三种结果之一:“猜对了”、“猜大了”或“猜小了”。这是训练条件判断逻辑的基础入门案例。
逻辑要点:三种结果互斥(不可能同时满足),因此不适合使用多个独立的 if 语句,而应采用更高效的 if-elif-else 结构,实现“一次判断,精准匹配”。
01 精准匹配 (if)
if x == target:
当输入值与目标值完全相等时触发,直接输出“恭喜,猜对了!”,并终止后续判断,确保逻辑的唯一性。
02 数值偏大 (elif)
elif x > target:
仅在第一个条件不成立时执行,提示“猜大了”,引导用户缩小猜测范围,向更小的数值尝试。
03 数值偏小 (else)
else:
作为兜底条件,覆盖前两种情况之外的所有可能,提示“猜小了”,完成完整的逻辑闭环。
知识讲授
循环嵌套
知识讲授
循环中的continue语句
continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
n = 5
while n > 0:
n -= 1
if n == 2:
continue
print(n)
print('循环结束。')
实例
运行结果
知识讲授
循环中的break语句
break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。
n =5
while n >0:
n -=1
if n ==2:
break
print(n)
print('循环结束。')
实例
运行结果
知识讲授
循环中的pass空语句
Python pass 是空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句。
知识讲授
冒泡排序算法原理
冒泡排序核心逻辑与特性
01 算法思想:将序列元素类比为“气泡”,通过相邻元素的比较与交换,使数值较小(或较大)的元素像气泡一样逐步“上浮”到序列顶端。
02 执行过程:重复遍历待排序列,依次比较相邻两个元素,若顺序为逆序则立即交换位置,每轮遍历会将一个最值元素“沉底”。
03 运行规律:若有n个元素,需进行n-1轮遍历;第i轮仅需对前n-i个元素进行比较,后续元素已处于有序状态。
04 复杂度分析:算法的平均与最坏时间复杂度均为O(n²),空间复杂度为O(1),属于稳定的交换排序算法。
背诵记忆
序号 名称 核心说明与记忆要点
01 break 语句 用于强制跳出当前所在的循环结构,直接终止本层循环的执行流程。记忆口诀:触发即“彻底结束”,循环到此戛然而止,不再执行后续循环体内容。
02 continue 语句 用于跳过当前循环的剩余语句,直接进入下一次循环迭代。记忆口诀:本次“跳过不执行”,下次循环“重新再来”,循环整体不会终止。
03 pass 空语句 仅作为语法占位符使用,执行时不做任何实际操作,用于保证代码结构完整。记忆口诀:纯粹“啥也不做”,只为填补语法空缺,避免程序报错。
01 循环嵌套结构 在一个循环内部嵌套另一个循环,是实现图形打印、多维数据遍历的关键。外层循环控制行数,内层循环控制列数。
记忆口诀:“外层定行数,内层定列数,嵌套循环出图案”
师生互动
综合应用:用 While 循环实现九九乘法表
任务目标:编写程序使用 while 循环嵌套打印标准的九九乘法表。
思考引导:① 如何用外层循环控制行数?② 内层循环的范围应如何设定才能形成三角形效果?③ 怎样让输出的算式整齐对齐?这道题将考察你对循环嵌套执行逻辑的理解。
🔑 解题思路与核心代码
1.双层循环结构:外层循环 i (1-9) 控制行数,内层循环 j (1-i) 控制每行的列数。
2.格式化与对齐:使用 `end="\t"` 保持同行输出并对齐,行尾用 `print()` 强制换行。
3.代码示例:
i = 1
while i <= 9:
j = 1
while j <= i:
print(f"{j}*{i}={i*j}", end="\t")
j += 1
print() # 完成一行后换行
i += 1
课堂练习
随堂检测
01. 单选题:Python中,range(1, 5, 2) 生成的序列是?
A. 1,2,3,4,5 B. 1,3,5 C. 1,3 D. 2,4
02. 单选题:循环结构中,break 语句的作用是?
A. 跳过本次循环 B. 终止并跳出整个循环
C. 结束程序 D. 暂停循环
03. 单选题:while循环中若忘记修改循环变量,会出现什么问题?
A. 语法报错 B. 逻辑错误(死循环)
C. 只执行一次 D. 无法执行
【答案与解析】
01. 答案:C。解析:range(起始, 终止, 步长) 遵循“左闭右开”原则,从1开始,步长2,下一个数为3,再下一个数5超过终止值4,故生成 [1, 3]。
02. 答案:B。解析:break 用于强制终止当前所在的循环体,直接跳出循环执行后续代码;continue 才是跳过本次循环剩余语句。
03. 答案:B。解析:循环条件永远为真会导致无限循环(死循环),这属于逻辑错误,而非语法错误(代码本身无语法问题)。
知识小结
课后任务
布置作业:
编程练习:使用 while 循环实现简易的猜数字游戏,设定规则为用户最多只能猜测 5 次,重点练习循环终止条件与条件判断的结合运用。
算法挑战:尝试通过循环嵌套的结构编写代码,实现打印一个边长为 10 的正方形图案,以此加深对多层循环执行逻辑与流程控制的理解。
思维拓展:思考如何优化冒泡排序算法,通过添加状态标志位的方式,减少排序过程中已经有序部分的不必要比较次数,分析并尝试写出优化后的算法代码。
谢谢观看
THANKS
$