




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Python 基础分支与循环,19:03,1,目 录,程序基本结构 分支结构 循环结构 布尔表达式 练习 总结,19:03,2,19:03,3,程序设计基本结构,任何算法(程序)都可以由顺序结构、选择结构和循环结构这三种基本结构组合来实现。,19:03,4,顺序结构,顺序结构中,按语句的自然顺序一次执行。 用顺序结构描述将华氏温度F转换成摄氏 温度C的流程。 算法: C = 5/9*(F-32),19:03,5,选择结构,19:03,6,循环结构,19:03,7,流程图-表示算法,例:求给定半径R的圆面积和圆周长 这是一个数学问题。 算法:,19:03,8,流程图-表示算法,例:求给定半径R的
2、绝对值。 算法: 这是分支程序结构,19:03,9,流程图-表示算法,例:给定K值,求1到K,连加和。 Sum里保存: 1+2+3+K的连加和。 重复进行某种运算,运算对象有规律地变化。采用循环结构。,目 录,程序基本结构 分支结构 循环结构 布尔表达式 总结,19:03,10,19:03,11,生活中的判断,19:03,12,PM2.5指数分级例子,程序功能的IPO模式描述为: 输入:接受外部输入PM2.5值 处理:空气质量分级算法 输出:打印空气质量提醒,19:03,13,PM2.5指数分级例子-流程图,19:03,14,pm25.py,19:03,15,if语句格式,语句格式如下 其中
3、是条件表达式, 是一个或多个语句序列 先判断 条件: True,则执行,再转向下一条语句 False,则直接跳过,转向下一条语句,19:03,16,说明:比较运算符,19:03,17,说明:逻辑运算符,19:03,18,二分支决策,二分支语法结构如下: Python解释器首先评估 如果是真的,if下面的语句被执行; 如果是假的,else下面的语句被执行。,19:03,19,二分支决策示例,注意:冒号不能省; if和else对齐,并且前面不能有空格。,19:03,20,多分支决策,多分支决策是解决复杂问题的重要手段之一 一个三分支决策可以由两个二分支结构嵌套实现 使用if-else描述多分支决策
4、时,实现更多分支需要更多嵌套,影响程序的易读性 Python使用if-elif-else描述多分支决策,简化分支结构的嵌套问题,19:03,21,多分支决策,使用if-elif-else描述多分支决策: Python轮流评估每个条件,来寻找条件为True的分支,并执行该分支下的语句;如果没有任何条件成立,else下面的语句被执行,else子句是可选的。,19:03,22,PM2.5指数分级例子(版本升级),使用if-elif-else结构改进之前的程序:,19:03,23,PM2.5指数分级例子(采用小于条件),19:03,24,如果按照分数划定结果: 90分或以上:excellent 80分
5、或以上:good 60分或以上:passed 60分以下:failed 请编写程序根据分数打印结果。,巩固练习,19:03,25,猜拳游戏,19:03,26,试一试,编写一个python程序,输入两个数,比较它们的大小并输出其中较大者。,目 录,程序基本结构 分支结构 循环结构 布尔表达式 总结,19:03,27,19:03,28,生活中的循环,19:03,29,软件开发中循环的使用场景,跟媳妇承认错误,说一万遍“媳妇儿,我错了!” print “媳妇儿,我错了!” print “媳妇儿,我错了!” print “媳妇儿,我错了!” (还有997遍) 使用循环,一句话搞定 i = 0 whil
6、e i 10000: print “媳妇儿,我错了!” i += 1,19:03,30,一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成 循环不是必须要使用的,但是为了提高代码的重复使用率,所以有经验的开发者都会采用循环,循环结构,19:03,31,循环结构回顾,for循环,for 循环作为编程语言中最强力的特征之一 Python可以使用for语句循环遍历整个序列的值 for循环所做的概括为一句话: 于 其中的每一个元素,做事情,19:03,32,for循环,在for循环中,循环变量var遍历了队列中的每一个值,循环的语句体为每个值执行一次。,19:03,33,for循环,19:0
7、3,34,for循环,为了更深入了解for循环,试着思考下面这个问题,如何打印出这样的结果? 1 + 1 = 2 2 + 1 = 3 10 + 1 = 11 内置函数-range(),19:03,35,19:03,36,for循环-求平均数,平均数计算程序的IPO如下: 输入:待输入数字个数,数字 处理:平均数算法 输出:平均数 通用设计方案: 输入数字的个数n 将sum初始化为0 循环n次: 输入数字x 将x加入sum中 将sum/n作为平均数输出出来,19:03,37,for循环-代码,19:03,38,for循环-执行,以下是程序的执行结果:,19:03,39,for循环-缺点,程序开始
8、时必须提供输入数字总数 大规模数字求平均值需要用户首先确定个数 for循环是需要提供固定循环次数的循环方式 Python提供了另一种循环模式即无限循环,不需要提前知道循环次数,即我们提到的当型循环也叫条件循环,19:03,40,19:03,41,for与if相结合,如何实现这样一个程序:歌曲列表中有三首歌“Holy Diver,Thunderstruck,Rebel Rebel”,当播放到每首时,分别显示歌手名字“Dio,AC/CD,Divid Bowie”?,19:03,42,嵌套循环,编程中还有一种常见的循环,被称之为嵌套循环,其实这种循环并不复杂还非常实用。 例如:“九九乘法表”,19:
9、03,43,嵌套循环,例:“九九乘法表” 原理:最外层的循环依次是将数值19存储到变量i中,变量i每取一次值,内层循环就要依次将19中存储在变量j中,最后展示当前的i,j,与i*j的结果。,while循环,语法:while语句 while语句中是布尔表达式 循环体是一条或多条语句 当条件为真时,循环体重复执行 当条件为假时,循环终止 在while循环中,条件总是在循环顶部被判断,即在循环体执行之前,这种结构又被称为前测循环,19:03,44,只要条件成立,就一直做,while循环,下面是使用while循环完成从0到10的求和打印平均值的例子: 如果循环体忘记累加i,条件判断一直为真,循环体将一
10、直执行,这就是所谓的死循环。 这时通常使用+c来终止一个程序,19:03,45,for/while中的else、break用法,break 语句跳出最内层的for/while循环,19:03,46,for/while中的continue用法,continue 语句,其作用为结束本次循环、即跳出循环体中下面尚未执行的语句,对于while循环,继续求解循环条件。而对于for循环程序流程接着遍历循环列表。 continue和break语句的区别是: continue语句只结束本次循环,而不终止整个循环的执行。 break 语句结束整个循环过程,不再判断执行循环的条件是否成立,19:03,47,for
11、/while中的else用法,语句与循环的搭配使用,else:后的表达式在for循环列表遍历完毕后或while条件语句不满足的情况下执行,例如:,19:03,48,目 录,程序基本结构 分支结构 循环结构 布尔表达式 总结,19:03,49,布尔表达式,条件语句和循环语句都是用布尔表达式作为条件 布尔值为真或假,以False和True表示 前面经常使用布尔表达式比较两个值, 如:while x=0,50,布尔操作符的引入,简单条件在复杂决策情况下存在一定缺陷 例如,确定两个点是否在同一位置,即是否有相同的x坐标和y坐标,下面是处理代码片段:,51,布尔操作符,布尔操作符:and,or和not
12、布尔运算符and和or用于组合两个布尔表达式,并产生一个布尔结果 and or not 运算符是一个一元运算符,用来计算一个布尔表达式的反 not ,19:03,52,布尔操作结果真值表,19:03,53,布尔操作符,使用布尔运算符,可以建立任意复杂的布尔表达式 例如: a or not b and c Python中布尔运算符的优先级,从高到低依次是 not 、and、or 所以上面的表达式等于如下这个带括号的版本: ( a or (not b) and c),19:03,54,布尔操作符,使用and操作符改进之前比较两个点相同的例子,19:03,55,56,下面哪些是港台女明星?,57,判断闰年,思考题,58,59,练习题,编程,解决猴子吃桃问题。 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想吃时,只剩下一个桃子了。求第一天共摘多少个桃子。(迭代法),本章小节,程序控制结构-流程图 分支语句-ifelif.else 循环语句: for while
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年甘肃省河西学院附属张掖人民医院非事业编制护理岗位工作人员招聘20人模拟试卷及答案详解参考
- 2025年潍坊诸城市公开招聘部属公费师范毕业生(5名)考前自测高频考点模拟试题及完整答案详解
- 2025年菏泽市定陶区教体系统引进高层次人才(20名)考前自测高频考点模拟试题及答案详解(全优)
- 2025年哈密市市级机关公开遴选考试真题
- 金属热处理工安全意识考核试卷及答案
- 数控等离子切割机操作工突发安全事件处置考核试卷及答案
- 隧道巡视养护工虚拟仿真系统操作考核试卷及答案
- 公司含氟烯烃生产工标准化技术规程
- 2025晋能控股集团有限公司高校毕业生招聘4000人(山西)模拟试卷及完整答案详解一套
- 公司冷食品制作工岗位工艺作业技术规程
- 《活泼的金属单质-钠》教案
- 长期留置导尿的并发症及管理
- 投资者关系管理与投资者策略
- 民国时期农村管理制度
- 冠脉造影手术病人的护理
- 2025年医药流通行业运行统计分析报告
- 茶叶示范基地管理制度
- 《心血管急症应对》课件
- ELK培训课件教学课件
- 小桔灯冰心课件
- 教学课件-《数据、模型与决策》
评论
0/150
提交评论