版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Python Python 基础基础分支与循环分支与循环1目目 录录 程序基本结构程序基本结构 分支结构分支结构 循环结构循环结构 布尔表达式布尔表达式 练习练习 总结总结23程序设计基本结构程序设计基本结构 任何算法任何算法( (程序程序) )都可以由顺序结构、选择结都可以由顺序结构、选择结构和循环结构这三种基本结构组合来实现。构和循环结构这三种基本结构组合来实现。4顺序结构顺序结构顺序结构中,按语句的自然顺序一次执行。顺序结构中,按语句的自然顺序一次执行。用顺序结构描述将华氏温度用顺序结构描述将华氏温度F F转换成摄氏转换成摄氏温度温度C C的流程。的流程。算法:算法: C = 5/9 C
2、 = 5/9* *(F-32)(F-32)5选择结构选择结构6循环结构循环结构7流程图流程图- -表示算法表示算法 例:求给定半径例:求给定半径R R的圆面的圆面积和圆周长积和圆周长这是一个数学问题。这是一个数学问题。算法:算法:8流程图流程图- -表示算法表示算法 例:求给定半径例:求给定半径R R的绝的绝对值对值。算法:算法:这是分支程序结构这是分支程序结构9流程图流程图- -表示算法表示算法 例:给定例:给定K K值,求值,求1 1到到K K,连加和。,连加和。 Sum Sum里保存:里保存:1+2+3+K1+2+3+K的连加和。的连加和。重复进行某种运算,运算对象有重复进行某种运算,运
3、算对象有规律地变化。采用循环结构。规律地变化。采用循环结构。目目 录录 程序基本结构程序基本结构 分支结构分支结构 循环结构循环结构 布尔表达式布尔表达式 总结总结1011生活中的判断生活中的判断12PM2.5PM2.5指数分级例子指数分级例子程序功能的程序功能的IPOIPO模式描述为模式描述为:输入:接受外部输入输入:接受外部输入PM2.5PM2.5值值处理:空气质量分级算法处理:空气质量分级算法输出:打印空气质量提醒输出:打印空气质量提醒13PM2.5PM2.5指数分级例子指数分级例子- -流程图流程图14 pm25.pypm25.py15ifif语句格式语句格式 语句格式如下语句格式如下
4、 其中其中 是条件表达式,是条件表达式, 是一个或多个语句序列是一个或多个语句序列 先判断先判断 条件:条件:TrueTrue,则执行,则执行,再转向下一,再转向下一条语句条语句 False False,则直接跳过,则直接跳过,转向,转向下一条语句下一条语句16说明:比较运算符说明:比较运算符17说明:逻辑运算符说明:逻辑运算符18二分支决策二分支决策 二分支语法结构如下:二分支语法结构如下: PythonPython解释器首先评估解释器首先评估 如果如果是真的,是真的,ifif下面的语句被执行;下面的语句被执行; 如果如果是假的,是假的,elseelse下面的语句被执行。下面的语句被执行。1
5、9二分支决策二分支决策示例示例注意:冒号不能省;注意:冒号不能省; if if和和elseelse对齐,并且前面不能有空格。对齐,并且前面不能有空格。20多分支决策多分支决策 多分支决策是解决复杂问题的多分支决策是解决复杂问题的重要手段之一重要手段之一 一个三分支决策可以由两个二一个三分支决策可以由两个二分支结构嵌套实现分支结构嵌套实现 使用使用if-elseif-else描述多分支决策描述多分支决策时,实现更多分支需要更多嵌套,时,实现更多分支需要更多嵌套,影响程序的易读性影响程序的易读性 PythonPython使用使用if-elif-elseif-elif-else描述描述多分支决策,简
6、化分支结构的嵌多分支决策,简化分支结构的嵌套问题套问题21多分支决策多分支决策 使用使用if-elif-elseif-elif-else描述多分支决策:描述多分支决策: PythonPython轮流评估每个条件,来寻找条件为轮流评估每个条件,来寻找条件为TrueTrue的分支,并执行该分支下的语句;如果没有任何条的分支,并执行该分支下的语句;如果没有任何条件成立,件成立,elseelse下面的语句被执行,下面的语句被执行,elseelse子句是可选子句是可选的。的。22PM2.5PM2.5指数分级例子(版本升级)指数分级例子(版本升级) 使用使用if-elif-elseif-elif-else
7、结构改进之前的程序:结构改进之前的程序:23PM2.5PM2.5指数分级例子指数分级例子(采用小于条件)(采用小于条件)24如果按照分数划定结果:如果按照分数划定结果:90分或以上:excellent80分或以上:good60分或以上:passed60分以下:failed请编写程序根据分数打印结果。巩固练习巩固练习25猜拳游戏猜拳游戏26试一试试一试编写一个编写一个pythonpython程序,输入两个数,比较它们的大小并输程序,输入两个数,比较它们的大小并输出其中较大者。出其中较大者。目目 录录 程序基本结构程序基本结构 分支结构分支结构 循环结构循环结构 布尔表达式布尔表达式 总结总结27
8、28生活中的循环生活中的循环29软件开发中循环的使用场景软件开发中循环的使用场景跟媳妇承认错误,说一万遍跟媳妇承认错误,说一万遍“媳妇儿,媳妇儿,我错了我错了!”print “媳妇儿,我错了!媳妇儿,我错了!”print “媳妇儿,我错了!媳妇儿,我错了!”print “媳妇儿,我错了!媳妇儿,我错了!” (还有(还有997遍)遍)使用循环,一句话搞定使用循环,一句话搞定i = 0while i 10000:print “媳妇儿,我错了!媳妇儿,我错了!”i += 130一般情况下,需要一般情况下,需要多次重复执行的代码多次重复执行的代码,都可,都可以用循环的方式来完成以用循环的方式来完成循环
9、不是必须要使用的,但是为了循环不是必须要使用的,但是为了提高代码的提高代码的重复使用率重复使用率,所以有经验的开发者都会采用循环,所以有经验的开发者都会采用循环循环结构循环结构31循环结构回顾循环结构回顾forfor循环循环 for 循环作为编程语言中最强力的特征之一循环作为编程语言中最强力的特征之一 Python可以使用可以使用for语句循环遍历整个序列的值语句循环遍历整个序列的值 for循环所做的概括为一句话:循环所做的概括为一句话: 于于 其中的每一个元素,做其中的每一个元素,做事情事情32forfor循环循环n在在for循环中,循环变量循环中,循环变量var遍历了队列中的每一个值,循遍
10、历了队列中的每一个值,循环的语句体为每个值执行一次。环的语句体为每个值执行一次。 33forfor循环循环34forfor循环循环 为了更深入了解为了更深入了解for循环,试着思考下面这个问题,如何循环,试着思考下面这个问题,如何打印出这样的结果?打印出这样的结果?1 + 1 = 22 + 1 = 310 + 1 = 11 内置函数内置函数-range() 3536forfor循环循环- -求平均数求平均数n 平均数计算程序的平均数计算程序的IPO如下:如下:输入:待输入数字个数,数字处理:平均数算法输出:平均数n 通用设计方案:通用设计方案:输入数字的个数n将sum初始化为0循环n次:输入数
11、字x将x加入sum中将sum/n作为平均数输出出来37forfor循环循环- -代码代码38forfor循环循环- -执行执行n 以下是程序的执行结果以下是程序的执行结果:39forfor循环循环- -缺点缺点n 程序开始时必须提供输入数字总数程序开始时必须提供输入数字总数n 大规模数字求平均值需要用户首先确定个数大规模数字求平均值需要用户首先确定个数n for循环是需要提供固定循环次数的循环方式循环是需要提供固定循环次数的循环方式n Python提供了另一种循环模式即无限循环,不需要提前提供了另一种循环模式即无限循环,不需要提前知道循环次数,即我们提到的当型循环也叫条件循环知道循环次数,即我
12、们提到的当型循环也叫条件循环4041forfor与与ifif相结合相结合 如何实现这样一个程序:歌曲列表中有三首歌如何实现这样一个程序:歌曲列表中有三首歌“Holy Diver,Thunderstruck,Rebel Rebel”,当播放到每首时,当播放到每首时,分别显示歌手名字分别显示歌手名字“Dio,AC/CD,Divid Bowie”? 42嵌套循环嵌套循环 编程中还有一种常见的循环,被称之为编程中还有一种常见的循环,被称之为嵌套循环嵌套循环,其实这,其实这种循环并不复杂还非常实用。种循环并不复杂还非常实用。 例如:例如:“九九乘法表九九乘法表” 43嵌套循环嵌套循环例:例:“九九乘法表
13、九九乘法表” 原理原理:最外层的循环依次是将数值19存储到变量i中,变量i每取一次值,内层循环就要依次将19中存储在变量j中,最后展示当前的i,j,与i*j的结果。 whilewhile循环循环 语法:语法:while语句语句while语句中语句中是布尔表达式是布尔表达式 循环体是一条或多条语句循环体是一条或多条语句当条件为真时,循环体重复执行当条件为真时,循环体重复执行当条件为假时,循环终止当条件为假时,循环终止 在在while循环中,条件总是在循环顶部被判断,即在循环循环中,条件总是在循环顶部被判断,即在循环体执行之前,这种结构又被称为前测循环体执行之前,这种结构又被称为前测循环44只要只
14、要条件成立,就一直做条件成立,就一直做,whilewhile循环循环 下面是使用下面是使用while循环完成从循环完成从0到到10的求和打印平均值的例子:的求和打印平均值的例子: 如果循环体忘记累加如果循环体忘记累加i,条件判断,条件判断一直为真,循环体将一直执行,这一直为真,循环体将一直执行,这就是所谓的死循环。就是所谓的死循环。这时通常使用这时通常使用+c来终止一来终止一个程序个程序45for/whilefor/while中的中的elseelse、breakbreak用法用法 break 语句语句跳出最内层的跳出最内层的for/while循环循环46for/whilefor/while中的
15、中的continuecontinue用法用法 continue 语句语句,其作用为结束本次循环、即跳出循环,其作用为结束本次循环、即跳出循环体中下面尚未执行的语句,对于体中下面尚未执行的语句,对于while循环,继续求解循循环,继续求解循环条件。而对于环条件。而对于for循环程序流程接着遍历循环列表。循环程序流程接着遍历循环列表。 continue和和break语句的区别是:语句的区别是: continue语句只结束本次循环,而不终止整个循环的执行。语句只结束本次循环,而不终止整个循环的执行。 break 语句结束整个循环过程,不再判断执行循环的条件是否语句结束整个循环过程,不再判断执行循环的
16、条件是否成立成立47for/whilefor/while中的中的elseelse用法用法 语句与循环的搭配使语句与循环的搭配使用,用,else:后的表达式在:后的表达式在for循环列表遍历完毕后或循环列表遍历完毕后或while条件语句不满足的情况下执行,例如:条件语句不满足的情况下执行,例如:48目目 录录 程序基本结构程序基本结构 分支结构分支结构 循环结构循环结构 布尔表达式布尔表达式 总结总结49布尔表达式布尔表达式 条件语句和循环语句都是用布尔表达式作为条件条件语句和循环语句都是用布尔表达式作为条件 布尔值为真或假,以布尔值为真或假,以False和和True表示表示 前面经常使用布尔表
17、达式比较两个值,前面经常使用布尔表达式比较两个值,如:如:while x=050布尔操作符的引入布尔操作符的引入 简单条件在复杂决策情况下存在一定缺陷简单条件在复杂决策情况下存在一定缺陷 例如,确定两个点是否在同一位置,即是否有相同的例如,确定两个点是否在同一位置,即是否有相同的x坐标和坐标和y坐标,下面是处理代码片段:坐标,下面是处理代码片段:51布尔操作符布尔操作符 布尔操作符:布尔操作符:andand,oror和和notnot 布尔运算符布尔运算符and和和or用于组合两个布尔表达式,并产生用于组合两个布尔表达式,并产生一个布尔结果一个布尔结果 and or not 运算符是一个一元运算
18、符,用来计算一个布尔表达运算符是一个一元运算符,用来计算一个布尔表达式的反式的反not 52布尔操作结果布尔操作结果真值表真值表53布尔操作符布尔操作符 使用布尔运算符,可以建立任意复杂的布尔表达式使用布尔运算符,可以建立任意复杂的布尔表达式例如:例如: a or not b and c Python中布尔运算符的优先级,从高到低依次是中布尔运算符的优先级,从高到低依次是 not 、and、or 所以上面的表达式等于如下这个带括号的版本:所以上面的表达式等于如下这个带括号的版本: ( a or (not b) and c)54布尔操作符布尔操作符 使用使用and操作符改进之前比较两个点相同的例子操作符改进之前比较两个点相同的例子5556
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年景县数学四年级上学期期中试题(含解析)
- 2025-2026学年新津县四年级数学上学期阶段学业水平测试试题(含解析)
- 2026年重庆护理职业学院单招职业倾向性考试题库及答案1套
- 2026年重庆科技大学单招职业技能考试模拟测试卷及答案1套
- 2026年长春师范高等专科学校单招职业适应性考试模拟测试卷及答案1套
- 2026年长沙卫生职业学院单招职业适应性考试模拟测试卷及答案1套
- 2026年陕西旅游烹饪职业学院单招职业适应性考试模拟测试卷附答案
- 2026年青海高等职业技术学院单招职业技能测试题库及答案1套
- 2026年齐齐哈尔理工职业学院单招职业倾向性测试题库附答案
- 2026年直播带货运营老字号品牌直播调研
- (2025年)保安员(初级)证考试题库及答案
- 2026年浙江省军士转业岗位履职能力考点练习题及答案
- 2026年检察院书记员面试题及答案
- 安全设备设施安装、使用、检验、维修、改造、验收、报废管理制度
- 2026届四川省成都市2023级高三一诊英语试题(附答案和音频)
- 《煤矿安全规程(2025)》防治水部分解读课件
- 2025至2030中国新癸酸缩水甘油酯行业项目调研及市场前景预测评估报告
- JJF 2333-2025恒温金属浴校准规范
- 员工自互检培训
- (2025年)司法考试法理学历年真题及答案
- 隧道照明工程设计方案
评论
0/150
提交评论