Pyth基础实及其教程 5_第1页
Pyth基础实及其教程 5_第2页
Pyth基础实及其教程 5_第3页
Pyth基础实及其教程 5_第4页
Pyth基础实及其教程 5_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

Python基础与应用主讲:TheIntroductionandApplicationofPythonPart4第四章04控制结构ControlStructures学习内容让程序学会选择与重复4.1控制结构简介04控制结构ControlStructures核心概念:控制结构是程序执行流程的“指挥官”,决定代码何时执行、执行多少次。三大基本结构:顺序结构:按代码编写顺序逐行执行。分支结构:依据条件真伪选择执行路径(本章重点)。循环结构:反复执行某段代码直至条件不再满足(本章重点)。4.2分支结构(Branching)if语句家族单分支(if):满足条件执行A,不满足则跳过。双分支(if-else):满足条件执行A,否则执行B。多分支(if-elif-else):在多个互斥条件中选择一个。提示:elif可以有多个,但顺序很重要,程序会执行第一个满足的分支。嵌套if:在一个if块中再嵌套另一个if,处理更复杂的子条件判断。4.2.1if语句单分支的if语句单分支的if语句是Python中最简单的条件判断形式,它仅包含一个条件和一个代码块。如果条件为真(True),则执行该代码块;如果条件为假(False),则跳过该代码块,继续执行后续代码。单分支的if语句的工作流程如图4-1所示。语法解释如下:if:Python关键字,意思是“如果”,用来开启条件判断。condition:条件表达式,可以是比较、是否等于等能得到True或False结果的代码。“:”:英文冒号,是语法要求,用来分隔“条件”和“要执行的代码块”。缩进的代码块:当if条件为True时,程序会执行的代码。4.2.1if语句单分支的if语句在这个例子中,程序会获取你输入的人口数。如果人口数在100万到500万之间(不含500万),那么就会打印“该城市属于三线城市”。如果人口数不符合这个范围,程序就不会有任何输出,直接结束。4.2.1if语句双分支语句(if-else)双分支if-else语句是一种能根据条件真假,让程序在两种互斥执行路径中选择的控制结构,解决“满足条件做A,不满足做B”的逻辑需求。它提供了两种选择,非此即彼。其核心思想是如果某个条件成立,就做这件事;否则(else),就做另外一件事。双分支语句(if-else)的工作流程如下图4-2所示。语法解释:else:Python关键字,意思是“否则”,搭配if处理“条件不成立”的情况。if后面缩进的代码,是条件为True(成立)时要执行的内容;else后面缩进的代码,是条件为False(不成立)时要执行的内容。4.2.1if语句双分支语句(if-else)这段代码用于判断一个城市的常住人口是否符合三线城市的定义。具体功能如下:从用户输入获取城市人口数据(单位为万人),并转换为浮点数;如果城市人口在100万到500万之间(含100万,不含500万),则输出“该城市属于三线城市”;否则输出“该城市不属于三线城市”。4.2.1if语句双分支语句(if-else)课堂作业:闰年的条件:能被4整除,但不能被100整除;或者能被400整除。要求:键盘输入年份,输出是否为闰年!4.2.1if语句多分支语句(if-elif-else)多分支结构用于在一个控制流中处理多个条件。它扩展了基本的if-else结构,允许你根据不同的条件执行不同的代码块。只有当所有前面的if和elif条件都为假时,才会执行else部分。多分支语句(if-elif-else)的工作流程如下图4-3所示。语法解释:ifcondition1:启动条件判断流程,检查condition1是否成立;elifcondition2:Python关键字(全称“elseif”),用于在前面的if或elif条件不成立时,检查condition2。若成立,则执行对应代码块;elifcondition3:类似elifcondition2,可继续扩展更多分支,依次检查新条件;else:当所有if和elif的条件都不成立时,执行else下的代码块。一个结构中最多有一个else。4.2.1if语句多分支语句(if-elif-else)!!!elif可以有多个,但必须出现在if之后,else之前;else是可选的。这段代码根据输入的城市人口数(单位:万人),判断该城市属于哪一等级:如果人口≥1000万,输出“一线城市”;如果人口在500万到1000万之间,输出“二线城市”;如果人口在100万到500万之间,输出“三线城市”;否则输出“四线及以下城市”。4.2.1if语句if语句的嵌套Python语言支持在一个if或elif代码块中再写一个新的if判断语句,这就是所谓的嵌套if语句(NestedifStatements)。这种结构允许我们在某个条件成立的前提下,进一步判断更多的子条件。语法解释:if外层条件:先判断外层条件是否为真。如果为真,进入内部判断。if内层条件:在外层条件为真的前提下,继续判断内层条件。else(内层):如果内层条件不成立,则执行这里的代码。else(外层):如果外层条件一开始就不成立,则直接跳到外层的else执行。4.2.1if语句if语句的嵌套这段代码使用的是if-else嵌套结构,根据用户输入的城市人口数,判断城市的等级:如果人口超过500万,输出“该城市为二线及以上城市”;否则,如果人口超过200万,输出“该城市为三线城市”;否则,输出“该城市为四线城市及以下”。4.2.2match语句match语句match-case语句,是Python3.10+引入的一种新的条件控制结构。特点:采用“模式匹配”而非简单的布尔判断。语法解释:match用于对目标值进行模式匹配case关键字后可以跟具体的值,类型,变量结构,守卫条件等_表示通配符:用作“默认匹配”4.2.2match语句match语句示例示例代码的具体功能如下:接收用户输入的年份,转换为整数。使用match-case判断年份是否为2024或2020,输出对应人口数据。若年份不匹配,执行_分支,提示无该年人口数据。4.2.3三元运算符三元运算符三元条件运算符(TernaryConditionalOperator)是Python提供的一种简洁表达条件判断的语法形式。它允许开发者在一行内根据布尔条件返回不同的结果,实现传统if-else语句的表达式级替代。4.2.3三元运算符三元运算符示例三元条件运算符(TernaryConditionalOperator)是Python提供的一种简洁表达条件判断的语法形式。它允许开发者在一行内根据布尔条件返回不同的结果,实现传统if-else语句的表达式级替代。4.3循环结构(Loops)循环通过程序中的循环语句,计算机能高效执行重复任务,无需大量重复代码。这使得程序能像自然现象或自动化机器一样,有条不紊地处理一系列相似事件。Python提供了两种循环结构,包括while循环和for循环。4.3.1

for循环for...in语句for...in语句是python中用于遍历可迭代对象(如列表、元组、字符串、字典等)的一种循环方式。4.3.1

for循环for...in语句可迭代对象类型:可迭代对象是python中支持逐个取出元素的数据结构,如列表、元组、字符串、字典等。它们的作用是在循环中提供一组可顺序访问的元素,方便进行批量处理或遍历操作。

4.3.1

for循环for...else语句for...else语句是python中特有的一种循环结构,它在for循环正常执行完毕后自动执行else代码块,若循环中途被break语句打断,则else块不会执行。这种结构常用于查找类操作中,在遍历未提前终止的情况下执行收尾逻辑。语法解释:for...else语句表示当循环未被break中断时,自动执行else块中的代码,用于处理循环正常结束后的逻辑。4.3.1

for循环for...else语句示例这段代码的功能是:在列表years中查找用户输入的目标年份target,如果找到则输出“找到目标年”,否则输出“未找到目标年”。4.3.1

for循环嵌套for循环嵌套的for循环(即一个for循环内部又包含另一个for循环)常用于处理二维数据结构(如嵌套列表)、生成排列组合、或在多个维度上进行遍历。

具体功能如下:定义年份列表years;定义城市列表cities和对应人口数据popu;嵌套循环依次遍历年份和城市,输出格式化字符串展示数据,结果为每年份下所有城市的人口数据依次被打印出来。4.3.1

for循环range()函数range()是python中用于生成整数序列的内置函数,常用于for循环控制循环次数。这段代码解释如下:range(2020,2024,1)生成一个从2020开始,到2023结束的整数序列,其中起始值是2020,结束值是2024(不包括)。步长为1,表示每次递增1。使用list()函数将range()对象转换为列表后,得到的序列是[2020,2021,2022,2023],即包含了从2020到2023的所有年份。4.3.2

while循环while循环基础while循环作为python中的基本循环语句之一,允许程序在满足特定条件的前提下不断执行某段代码,直到条件不再成立为止。它适用于循环次数不确定、依赖变量变化的场景。while循环的核心是条件表达式,它会在每次循环开始前判断条件是否为真,只有条件为“真”时,才会执行循环体。如果条件为“假”,循环将终止。语法解释:每次循环前会判断条件是否成立,若为“真”则执行循环体,常配合更新变量以避免死循环,适用于次数不确定的循环场景。4.3.2

while循环while循环基础while循环作为python中的基本循环语句之一,允许程序在满足特定条件的前提下不断执行某段代码,直到条件不再成立为止。它适用于循环次数不确定、依赖变量变化的场景。while循环的核心是条件表达式,它会在每次循环开始前判断条件是否为真,只有条件为“真”时,才会执行循环体。如果条件为“假”,循环将终止。语法解释:每次循环前会判断条件是否成立,若为“真”则执行循环体,常配合更新变量以避免死循环,适用于次数不确定的循环场景。4.3.2

while循环while循环基础示例这段代码解释如下:定义变量year=2020,并设置whileyear<=2023作为循环条件,表示只要年份不超过2023,就持续执行循环体。在每次循环中,使用print()输出当前年份,并将year增加1,以推动循环向终止条件前进,避免陷入无限循环。注意:引号应为英文格式,否则会导致语法错误。4.3.2

while循环while…else结构while...else是python中的一种循环结构,用于在while循环条件不再满足并正常结束时执行额外的else代码块。它通常用于在循环未被break中断的情况下执行一些“收尾”操作。语法解释:当while条件为“真”时,循环体会不断执行,并在每次迭代中更新变量;如果循环自然结束(条件变为“假”),则执行else块中的代码;但如果循环通过break提前终止,else部分不会执行。4.3.2

while循环嵌套while循环嵌套while循环允许在一个循环体内再嵌入另一个循环,从而在每次外层循环执行的基础上,完成对内层数据的多次遍历或比较。这在处理如二维列表、矩阵运算或多维数据分析时非常常见。4.3.3循环控制语句break语句break语句用于立即终止当前循环,无论循环条件是否仍为“真”。当程序执行到break时,会跳出整个while或for循环,控制权转移到循环之后的第一条语句。它常用于在满足某个特定条件时提前结束循环。语法解释:在while循环中,break用于在满足特定条件时提前终止循环,跳出循环体,继续执行后续代码。在for循环中,break用于在满足特定条件时终止循环,停止对可迭代对象的进一步遍历。4.3.3循环控制语句break语句示例break语句用于立即终止当前循环,无论循环条件是否仍为“真”。当程序执行到break时,会跳出整个while或for循环,控制权转移到循环之后的第一条语句。它常用于在满足某个特定条件时提前结束循环。代码解释如下:代码从year=2020开始,使用whileyear<=2023控制循环,依次打印年份信息。每次循环结束后,将year增加1,逐步推进年份。在循环体中,当年份等于2022时,触发if判断,执行break语句立即终止循环,因此只会输出2020和2021两年的信息。4.3.3循环控制语句continue语句continue语句用于跳过当前循环中的剩余代码,直接进入下一轮循环。它常用于在满足特定条件时暂时跳过本次迭代的处理逻辑,但不终止整个循环。与break不同,continue不会退出循环,而是跳过当前这次执行,继续下一次判断与执行。语法解释:在while循环中,当满足特定条件时,continue会跳过当前循环的剩余部分,直接进入下一次迭代。在for循环中,当满足条件时,continue会跳过当前元素的处理,继续处理下一个元素。4.3.3循环控制语句continue语句示例代码解释如下:使用foryearinrange(2020,2024)遍历从2020到2023的年份。每次循环将当前年份赋值给变量year,用于后续判断与输出。当年份为2021时,触发ifyear==20

温馨提示

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

评论

0/150

提交评论