大学Python程序设计《流程控制语句》课堂讲授课件_第1页
大学Python程序设计《流程控制语句》课堂讲授课件_第2页
大学Python程序设计《流程控制语句》课堂讲授课件_第3页
大学Python程序设计《流程控制语句》课堂讲授课件_第4页
大学Python程序设计《流程控制语句》课堂讲授课件_第5页
已阅读5页,还剩28页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PYTHON程序设计课程大学Python程序设计流程控制语句条件分支·循环迭代·流程控制授课时间:2026年授课时间2026年课程导览01流程控制概览程序执行顺序与三种基本结构02条件分支语句if系列语句的语法与判断逻辑03循环迭代语句while与for循环的执行机制04循环控制与嵌套break、continue与嵌套结构规则05综合应用实践典型案例整合流程控制知识SECTION流程控制概览程序执行的三种基本结构顺序、选择、循环,构成程序逻辑的骨架01程序默认按顺序执行代码示意程序默认按照书写顺序,自上而下逐条执行语句流程控制让程序具备应对变化的能力程序默认按照书写顺序,自上而下逐条执行语句,这就是顺序结构。依次执行语句按序运行,前一句执行完才轮到后一句按序运行缺乏应变顺序结构无法根据情况做出不同反应无法分支现实需求真实问题往往需要“看情况处理”或“重复做某事”看情况处理三种基本控制结构任何复杂算法,都可以由三种基本结构组合而成。顺顺序结构执行特点自上而下逐条执行对应语句普通赋值、输入输出自上而下选选择结构执行特点按条件成立与否走不同分支对应语句if、if-else、if-elif-else条件分支循循环结构执行特点条件满足时重复执行某段代码对应语句while、for重复执行SECTION条件分支语句让程序学会做判断单分支、双分支、多分支,逐层展开02if单分支语句条件成立才执行,不成立就跳过语法格式与缩进规则4项if条件表达式:缩进块内语句条件成立时执行条件不成立整块跳过缩进层级统一层级标识代码块执行逻辑3项判断条件真假真则进入语句块执行假则跳过跳过语句块继续后续单分支无else不成立无替代动作if-else双分支语句双分支让程序具备两条完整处理路径双分支语句用于条件成立做一件事,不成立做另一件事的场景。语法格式if条件:

语句块Aelse:

语句块Belse需冒号不写条件else后面直接写冒号,不再跟条件。两语句块必执行其一条件成立走if块,不成立走else块。else与if对齐else与对应if保持同一缩进层级。示例ifscore>=60:print("及格")else:print("不及格")if-elif-else多分支语句多分支语句用于多种情况择一处理的场景语法格式多分支语句结构情况择一分支判定关键规则按条件分支匹配各分支互斥执行命中即止成绩分档优秀合格待提升条件的真值与比较运算Python允许直接写

ifx:

判断x是否非零、非空,但需谨慎使用,必要时显式写出比较更清晰。条件表达式的结果会被解释为

真

或

假运算符与易错提醒3项比较运算符大于、小于、大于等于、小于等于、等于、不等于易错提醒判断相等用

==,一个等号

=

是赋值逻辑运算符and

表示并且,or

表示或者,not

表示取反布尔结果对照4项0、0.0假空字符串、空列表假None假非零数字、非空序列真条件语句易错点提醒常见错误常见错误5项漏写冒号,导致语法错误缩进不统一,混用空格与制表符把等号当成判断相等使用多分支条件顺序颠倒,宽松条件在前导致后续分支不执行else单独出现而无对应if正确做法5步1每个条件表达式末尾补齐冒号2统一使用

4个空格

缩进,不混用3判断相等使用

两个等号4多分支条件按区间

有序排列5写完及时运行,用不同取值验证每条分支多一次验证,就少一个隐藏的逻辑漏洞。SECTION循环迭代语句让程序学会重复执行条件驱动与遍历驱动,两种循环范式03while循环基础while循环用于

条件成立就重复执行

的场景语法格式while

条件表达式:循环体语句循环三要素初始值设定循环条件判断变量更新注意缺少更新形成死循环第1步判断条件判断条件第2步执行循环体执行循环体第3步更新变量更新变量第4步再次判断再次判断while循环典型模式“while循环常出现在两类场景中”计数型关注执行多少次条件型关注执行到什么时候两者都必须在循环体内推动条件趋近结束计数控制型已知或可计算循环次数,用变量计数控制代码示例:1到100累加条件控制型未知循环次数,靠条件判断控制代码示例:密码验证for循环基础for循环用于依次取出序列中的每个元素。for循环:依次取出序列中的每个元素,重复执行循环体语法格式for变量in序列:

循环体执行机制逐个取值依次取出序列中的每个元素循环体执行对每个元素执行一次循环体序列耗尽元素取完后循环自动结束选择建议:遍历序列用for,条件不确定时用whilerange函数的三种形式形式说明生成的序列range(5)从0开始,到5之前结束0,1,2,3,4range(2,6)从2开始,到6之前结束2,3,4,5range(1,10,2)从1开始,步长为21,3,5,7,9关键规则左闭右开,不包含结束值步长可以为负数,如range(5,0,-1)用于倒序range本身不生成完整列表,而是按需产生数值,效率较高掌握这三种形式,绝大多数计数循环都能写出。遍历常见数据类型字符串逐个取出字符列表与元组逐个取出元素range对象按整数序列计数字典直接遍历得到键取用值可用

键

或

值

方法循环的else子句循环正常结束执行else,break提前中断则不执行for-else语法foriinseq:...|else:循环正常结束|break提前中断→不执行典型用途循环后统一收尾处理查找未命中时给出提示正常走完流程才执行收束逻辑易错警示误以为else总执行break后仍期待收尾把else与if混淆while与for如何选择1.遍历现成的序列或固定次数循环,优先用

for2.循环次数由运行过程中的条件决定,用

while3.两者可以互相改写,但代码简洁度与可读性不同选择更贴合问题语义的那一种,代码往往更短也更清晰。while循环控制依据条件表达式循环次数通常不确定变量更新需手动维护典型场景条件驱动、状态判断for循环控制依据可迭代对象循环次数通常可预知变量更新自动取下一个元素典型场景遍历序列、计数循环SECTION循环控制与嵌套精准掌控循环的每一步跳出、跳过与多层嵌套的控制艺术04break跳出循环break

用于立即终止当前所在的那一层循环,程序继续执行循环之后的语句。1步骤01for循环遍历range(1,100)

逐次迭代2步骤02if条件判断i*i>50

时触发3步骤03break跳出终止本层循环,继续执行后续语句执行后行为跳出循环后执行后续代码作用范围仅终止当前所在那一层循环典型场景满足条件即停止搜索或遍历嵌套注意多层嵌套只跳出最内层continue跳过本次continue用于结束本次循环,直接进入下一次循环的条件判断01案例一continue的作用范围只作用于当前这一层循环跳过本次剩余语句,进入下一次条件判断02案例二与break的概念区分break终止整个循环,continue只结束本轮作用范围仅限当前循环层下一轮仍从条件判断开始break与continue对照对比项breakcontinue作用终止整个循环结束本次循环后续语句本次及后续循环体都不执行本次剩余语句不执行,下次继续循环else不执行else分支不影响else分支正常执行典型用途找到目标即停止过滤特定数据break

终止整个循环,continue

结束本次循环;用同一个数据序列分别测试两个语句的输出差异,是掌握它们最有效的方式。嵌套循环的执行规律一个循环的循环体内再写一个循环,称为嵌套循环,也叫多重循环。外层与内层的关系完整执行一轮外层循环每执行一次,内层循环完整执行一轮变量互不干扰内层循环应使用与外层不同的循环变量,避免相互干扰总执行次数次数为乘积总执行次数约为各层循环次数的乘积层数越多越快层数越多,执行次数增长越快典型示例分工明确外层控制轮次,内层处理每轮明细常见场景常见于二维遍历与组合枚举场景循环控制易错点提醒“排查循环问题,先看变量是否在朝着终止条件推进。”循环部分最常见的错误集中在以下几点常见错误忘记更新循环变量,造成死循环continue

跳过了变量更新语句,导致循环无法收敛误认为

break

能跳出所有层循环嵌套循环内外层使用同一变量名while

循环条件初值未定义,或初值不满足条件导致循环体一次都不执行调试建议循环前先确认初值、条件、更新三要素齐全在循环体内打印关键变量,观察其变化趋势先用小规模数据测试,确认逻辑正确后再放大规模死循环时用快捷键强制中断程序运行SECTION综合应用实践把知识变成解决问题的能力在真实问题中融会贯通05综合案例

成绩等级评定“边界先校验,分支从高到低,成绩分档一步到位。”输入百分制成绩输出对应等级,低于0或高于100时提示输入有误边界校验先判断取值范围是否合法:低于

0

或高于

100

直接提示输入有误区间分档再按区间划分等级:使用多分支结构逐一命中判断顺序条件从高分区间开始判断:逐级向下收敛代码实现以成绩分档问题整合多分支语句从需求到代码逐步转化关键收获边界校验先行多分支结构清晰判断顺序决定正确性综合案例

累加求和与均值››关键收获:哨兵值控制循环结束,累加器与计数器配合完成统计分析思路输入次数事先不确定,选择

while循环用累加器变量保存总和,用计数变量统计个数以

0

作为结束标志,属于典型的哨兵值控制1初始化定义累加器

sum

与计数变量

count2循环读取while读入数值,遇

0

跳出3输出结果sum求总和,sum/count

求平均值综合案例

素数判断判断一个大于1的整数是否为素数。分析思路:从素数定义出发,用循环枚举候选除数,命中即终止判定。素数只能被1和自身整除判断依据:只能被1和自身整除数学本质:约数仅有1与自身用循环依次尝试2到该数减一之间的整数遍历范围:从2到该数减一逐项取模:依次检验能否整除循环结构:承载全部候选除数一旦发现能整除,即可判定不是素数,无需继续判断命中即判定:能整除则非素数提前终止:用break跳出循环价值:省去无谓的后续判断关键收获发现能整除立即终止,循环与break配合才是高效判定——提前终止避免无效遍历。综合案例

图形打印打印一个由星号组成的直角三角形,共5行。外层循环控制行数决定打印多少行内层循环控制每行符号个数决定每行打印几个星号第i行打印i个符号内层循环范围随外层变量变化代码实现foriinrange(1,6):forjinrange(i):print("*",end="")print()关键收获外层管行、内层管列,两层变量共同决定图形内层循环范围随外层变量动态变化嵌套循环是处理二维与组合问题的通用框架综合案例

猜数字游戏1问题预设目标数字,反复猜测程序预设目标数字,用户反复输入猜测值,每次给出偏大或偏小的提示。›2while循环次数不确定猜测次数不确定,使用while循环。›3多分支与目标比较每次猜测后与目标比较,用多分支给出提示。›4break猜中结束猜中时用break结束循环。关键收获:循环次数未知用while,比较提示用多分支,命中即break跳出。本章小结与课后练习知识模块核心内容选择结构if、if-else、if-elif-els

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论