版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
流程控制及异常处理·
if语句·if语句的嵌套·循环语句·循环嵌套·跳转语句·异常处理目录页5异常处理1程序的基本结构2语句3分支结构4循环结构传统的面向过程程序设计中有三种控制结构,即顺序结构、选择结构和循环结构。即使在面向对象程序设计和事件驱动程序的开发中,也离不开这三种基本结构。目前为止所接触的程序中,Python按照语句的顺序执行它们。如果想要改变语句流的执行顺序,必须让程序根据不同的情况来做不同的事情。这是通过控制流语句来实现的,在Python中有三种控制流语句:if、for和while。1程序的基本结构2.语句9.2.1赋值语句Python中不需要事先声明变量名和类型,可以直接赋值创造各种类型的变量。进行赋值就必须用到赋值语句。对变量进行各种数学运算,然后赋值给变量是比较常见的做法。9.2.2if语句Python程序设计中除了顺序结构,还有分支结构和循环结构。分支结构可以采用if语句来完成。if语句首先要进行条件判断,根据判断的结果为真还是假来选择执行哪一个语句。这种结构称为选择结构,或者分支结构。如果条件为真,运行一块语句(称为if-块),否则处理另外一块语句(称为else-块)。可以根据需要选择是否有else子句。【例9-1】求从键盘输入a,b,求a,b的最大值。程序代码:a=int(input('a='))b=int(input('b='))ifa>b:max=aelse:max=bprint(max)程序输入:a=3b=5执行结果:59.2.3for语句Python提供两种基本的循环结构:while循环和for循环。当条件为真时,while语句允许重复执行一块语句。while语句一般用于循环次数未确定的情况,当然循环次数已经确定的情况也可以使用。while语句可以选择是否有else从句。【例9-2】求1+2+3...+100的和。程序代码:x,sum=1,0whilex<=100:
sum+=x
x+=1print(sum)执行结果:50509.2.4列表推导式列表推导式是Python程序开发时应用较多的技术。可以使用简洁的方式快速生成满足要求的列表。列表推导式的工作方式类似于for循环。列表推导式的格式为:变量=[表达式for...in...if...]列表推导式的结构是⼀个中括号里有⼀个表达式,后面接着是一个for语句,再接着是可以选择的0个或多个for或者if语句。表达式可以是任意表达式,可以在列表中放⼊任意类型的对象。返回结果将生成一个新的列表,这个列表在以if和for语句为上下⽂的表达式运⾏完成之后产生。3分支结构9.3.1单分支结构单分支结构是最简单的一种分支结构,语法如下:if条件表达式:语句块注意,条件判断表达式后面冒号不能少。当表达式的值等价于True时,执行语句块,否则语句块不执行。单分支结构的流程图如图9-1所示。。9.3.2双分支结构双分支结构的语法为:if判断条件: 代码块1else: 代码段2当表达式的值等价于True时,执行语句块1,否则执行语句块2。双分支结构的流程图如图9-2所示。9.3.3多分支结构多分支选择结构可以实现更多的选择,进行选择结构的嵌套,能处理更复杂的问题。多分支选择结构的语法为:if判断条件1:
代码段1elif判断条件2:
代码段2elif判断条件3:
代码段3...else:
代码段n其中elif为elseif的缩写。
9.3.4if...else三元表达式还可以使用简化的三元表达式来实现if...else语句。原结构为:if判断条件: 代码块1else:代码段2使用三元表达式格式后是:代码块1if判断条件else代码段29.3.5if嵌套Python中通过if嵌套可以实现程序中条件语句的嵌套逻辑。格式if判断条件1:#外层条件
代码段1if判断条件2:#内层条件
代码段2...3.1.4if嵌套执行if嵌套时,若外层判断条件(判断条件1)的值为True,执行代码段1,并对内层判断条件(判断条件2)进行判断:若判断条件2的值为True,则执行代码段2,否则跳出内层条件结构,顺序执行外层条件结构中内层条件结构之后的代码;若外层判断条件的值为False,直接跳过条件语句,既不执行代码段1,也不执行内层的条件结构。if嵌套的执行流程9.4循环结构9.4.1for循环for循环是Python提供的两种循环结构之一,编程时优先考虑使用这种格式。1.for循环基本格式为:for变量in序列或其它迭代对象:循环体在一序列的对象上迭代,即逐一使用序列中的每个项目。9.4.2while循环while循环是Python提供的另外一种循环结构。同样可以选择是否带else子句,当不是使用break退出循环而是循环条件不成立导致循环结束的情况下会执行else子句。while循环的语法为:while表达式:循环体[else:else子句]使用while循环时注意在循环前定义循环变量初值,在循环体内进行循环变量的增值。9.4.3循环控制:break和continuebreak语句是在循环中跳出一层循环,一般和if语句配合使用,在达到一定条件时跳出循环。continue语句的作用是跳出本次循环并结束continue语句之后的所有语句的执行,然后继续下一次循环。9.4.4嵌套循环循环的嵌套就是在一个循环中嵌套另外一个循环。。9.5异常处理9.5.1异常处理基本结构在编写程序的时候,有可能会产生一些错误,如除以零,使用的变量未定义,文件不存在等。异常就是程序运行时引发的错误。程序如果不能正确处理会导致程序终止。为了解决这些异常事件,可以增加if语句,但是没效率并且不是很灵活。合理使用异常处理结构能使程序更加健壮,提交容错性。9.5.2捕捉异常:try...excepttry...except结构是最基本的一种结构,把可能出现异常的语句放在try子句中,用except子句捕捉相应异常并且把错误处理语句放在ecept子句中。当try子句没有出现异常则继续往下执行后续语句。如果发生异常且用except捕获则执行相应子句中对应的异常处理的执行代码。如果没有被except捕获到,那么就往外层抛出。如果直到最外层都没有捕获到,则程序终止。9.5.3异常终止:try...finally在try...finally结构中,finally子句无论是否抛出异常都会执行,用来做一些清理工作,进行资源的释放。可以同时使用except子句和finally子句。9.5.4抛出异常:raise语句1.可以使用raise语句引发异常,可以用一个类或者实例参数调用。2.可以自定义异常类型并引发。9.5.5assert异常Assert(断言)是一种特殊的异常处理方式,在形式上更简单一些,能进行简单的异常处理和确认,并可以与标准的异常处理方式结合使用。断言可以在条件不满足程序运行的情况下直接返回错误,而不必等待程序运行后出现崩溃的情况。断言是语法是:Assert表达式[,参数]当判断表达式的值为真时,什么都不用做。当判断表达式的值为假时,抛出异常。一般用于对运行条件进行验证,仅当_debug_为真时有效。当Python脚本以-O选项编译成为字节码文件时,assert语句将被移除。9.5.6没有捕捉到异常:else如果想在没有触发异常的时候执⾏一些代码,可以通过一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度绿色环保厂房装饰装修工程承包合同4篇
- 2024水库鱼塘承包养殖与市场拓展合作协议2篇
- 2025年度产权房屋买卖定金合同产权过户范本3篇
- 2025年度厂房买卖合同范本(新能源产业适用)4篇
- 二零二五年度网络安全服务提供商保密及数据处理协议3篇
- 二零二五年度船舶气象预报船员聘用合同范本3篇
- 个人IT岗位保密条款合同(2024版)版B版
- 2025年度XX地区水资源综合利用项目合作协议3篇
- 2025年度智能自动化厂房车间租赁合同4篇
- 2025年度婴幼儿用品配送与安全监管合同4篇
- 100个超高难度绕口令大全
- 《郑伯克段于鄢》-完整版课件
- (日文文书模板范例)请求书-请求书
- 土壤肥料全套课件
- 毕业生延期毕业申请表
- 学校6S管理制度
- 肽的健康作用及应用课件
- T.C--M-ONE效果器使用手册
- 8小时等效A声级计算工具
- 人教版七年级下册数学计算题300道
- 社会实践登记表
评论
0/150
提交评论