书签 分享 收藏 举报 版权申诉 / 58
上传文档赚钱

类型Python3基础教程第5章课件.pptx

  • 上传人(卖家):三亚风情
  • 文档编号:3371808
  • 上传时间:2022-08-24
  • 格式:PPTX
  • 页数:58
  • 大小:225.42KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《Python3基础教程第5章课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Python3 基础教程 课件
    资源描述:

    1、Python3基础教程第2版 慕课版第5章 程序控制结构本章主要内容:分支结构循环结构异常处理5.1 程序的基本结构程序的三种基本结构为:顺序结构、分支结构和循环结构。顺序结构的程序按语句的先后顺序依次执行各条语句。通常,程序默认为顺序结构Python总是从程序的第一条语句开始,按顺序依次执行语句。典型的顺序结构。#输入两个整数,用不同的转换方法a=eval(input(请输入第1个整数:)b=int(input(请输入第2个整数:)#将a转换为浮点数输出print(float(%s)=%a,float(a)print(格式化为浮点数:%e,%f%(a,b)#创建复数输出print(compl

    2、ex(%s,%s)=%(a,b),complex(a,b)分支结构指程序根据条件执行不同的代码块。分支结构又可分为单分支结构、双分支结构和多分支结构,示例代码如下。if x0:print(%s是正数%x)#条件x0成立时执行该语句else:print(%s小于等于0%x)#条件x0不成立时执行该语句循环结构指程序根据条件重复执行同一个代码块示例代码如下。for x in range(5):#x依次取0、1、2、3、4 print(x)#重复执行该语句5次5.2 分支结构Python使用if语句实现程序的分支结构,包括单分支结构、双分之结构和多分支结构。本节主要内容:单分支结构 双分支结构 多分

    3、枝结构 ifelse三元表达式5.2.1 单分支结构单分支if语句的基本结构如下。if条件表达式:语句块当条件表达式计算结果为True时,执行语句块中的代码否则,不执行语句块中的代码。单分支if语句的执行流程如图所示示例代码如下。x=5 if x0:.print(x,是正数).5 是正数5.2.2 双分支结构双分支if语句的基本结构如下。if条件表达式:语句块1else:语句块2当条件表达式计算结果为True时,执行语句块1中的代码;否则,执行语句块2中的代码。双分支if语句的执行流程如图所示示例代码如下。x=-5 if x0:.print(x,是正数).else:.print(x,不是正数)

    4、.-5 不是正数5.2.3 多分支结构 多分支if语句的基本结构如下。if条件表达式1:语句块1elif 条件表达式2:语句块2elif 条件表达式n:语句块nelse:语句块n+1 else部分可以省略。多分支if语句的执行流程如图所示 示例代码如下。x=85 if x60:.print(不及格).elif x70:.print(及格).elif x a=2 b=3 x=a if ab else b#a x2 x=a if ab else b#ab结果为False,将b的值3赋值给x x3列表三元表达式 基本格式如下。表达式1,表达式2 条件表达式 当条件表达式计算结果为False时,将表达

    5、式1的值作为三元表达式的值;否则,将表达式2的值作为三元表达式的值 示例代码如下。x=5 y=10 x,yxy#x x,yxy#xy结果为False,返回x的值55.3 循环结构本节主要内容:for循环while循环循环控制:continue、break5.3.1 遍历循环:for for语句实现遍历循环,其基本格式如下。for var in object:循环体else:语句块2 else部分可以省略。object是一个可迭代对象。for语句执行时,依次将object中的数据赋值给变量var该操作称为迭代。var每赋值一次,则执行一次循环体。循环执行结束时,如果有else部分,则执行对应的语

    6、句块。else部分只在正常结束循环时执行。如果用break跳出循环,则不会执行else部分。在for语句中,用n表示object中数据的位置索引,for语句循环的执行流程如图所示 示例代码如下。#用x迭代元组中的对象,其中包含了一个嵌套的子元组 for x in(1,2,3,(4,5):.print(x).123(4,5)for x in book:#用x迭代字符串中的每个字符.print(x).book for x in(1,2,3):.print(x*2).else:#else部分在循环正常结束时执行.print(loop over).246loop over2使用range()函数可以使

    7、用range()函数来生成包含连续多个整数的range对象,其基本格式为:range(end)range(start,end,step)只指定一个参数(end)时,生成整数范围为0end-1。指定两个参数(start和end)时,生成整数范围为startend-1。整数之间的差值为step,step默认为1。示例代码如下。for x in range(3):.print(x).012 for x in range(-2,2):.print(x).-2-101 for x in range(-2,2,2):.print(x).-20可在for循环中用多个变量来迭代序列对象,示例代码如下。for(

    8、a,b)in(1,2),(3,4),(5,6):.print(a,b).1 23 45 6#等价于 for a,b in(1,2),(3,4),(5,6):与赋值语句类似,可以用“*”表示给变量赋值一个列表,示例代码如下。for(a,*b)in(1,2,abc),(3,4,5):.print(a,b).1 2,abc3 4,54嵌套的for循环Python允许嵌套使用for循环,即在for循环内部使用for循环。例如,下面的代码输出100以内的素数除了1和它本身之外不能被其他数整除的数是素数。print(1,2,3,end=)#1、2、3是素数,直接输出,end=使后续输出不换行for x i

    9、n range(4,100):for n in range(2,x):if x%n=0:#若余数为0,说明x不是素数,结束当前for循环 break else:print(x,end=)#正常结束for循环,说明x是素数,输出else:print(over)5.3.2 无限循环:while1while语句循环的基本结构while语句基本结构如下。while条件表达式:循环体else:语句块2,else部分语句可以省略。while语句循环的执行流程如图所示。如果条件表达式始终为True,则构造无限循环也称“死循环”。计算1+2+100。s=0n=1 while n=100:s=s+n n=n+1

    10、print(1+2+.+100=,s)用while循环来输出100以内的素数。x=1while x100:n=2 while nx-1:if x%n=0:break#若余数为0,说明x不是素数,结束当前循环 n+=1 else:print(x,end=)#正常结束循环,说明x没有被任何数整除,是素数,输出 x+=1else:print(over)2嵌套使用while循环 Python允许在while循环的内部使用while循环。例如,下面的代码输出九九乘法表。a=1while a10:b=1 while b=a:print(%d*%d=%2d%(a,b,a*b),end=)b+=1 print

    11、()a+=15.3.3 循环控制:break和continue在for循环和while循环中可以使用break和continue语句。break语句用于跳出当前循环,即提前结束循环(包括跳过else)。continue则用于跳过循环体剩余语句,回到循环开头开始下一次循环。用for循环找出100999范围内的前10个回文数字3位数中个位和百位相同的数字为回文数字。a=n=0for x in range(100,999):s=str(x)if s0!=s-1:continue#如果x不是回文数字,回到循环开头,x取下一个值开始循环 a.append(x)#x是回文数字,将其加入列表 n+=1#累计

    12、获得的回文数字个数 if n=10:break#找出10个回文数字时,跳出for循环print(a)#break跳出时,跳转到该处执行 将上面的代码中的for循环改为while循环,可以实现相同的功能,代码如下。a=;n=0 ;x=100while x999:s=str(x)if s0!=s-1:x=x+1 continue#x如果不是回文数字,回到循环开头,x取下一个值开始循环 a.append(x)#x是回文数字,将其加入列表 n+=1#累计获得的回文数字个数 x=x+1 if n=10:break#找出10个回文数字时,跳出while循环print(a)#break跳出时,跳转到该处执行

    13、5.4 异常处理本节主要内容:异常处理基本结构 捕捉多个异常 exceptas 捕捉所有异常 异常处理结构的嵌套 tryfinally终止行为 raise语句 异常链:异常引发异常 assert语句异常指程序在运行过程中发生的错误,异常会导致程序意外终止。异常处理可捕捉程序中发生的异常,执行相应的处理代码,避免程序意外终止。程序中的语法错误不属于异常。5.4.1 异常处理基本结构 异常处理的基本结构如下。try:可能引发异常的代码except 异常类型名称:异常处理代码else:没有发生异常时执行的代码finally:不管是否发生异常,都会执行的代码 在处理异常时,将可能引发异常的代码放在tr

    14、y语句块中。在except语句中指明捕捉处理的异常类型名称,except语句块中为异常处理代码。程序运行时,如果try语句块中的代码发生了指定异常,则执行except语句块。else语句块中为没有发生异常时执行的代码,else语句块可以省略。finally部分的代码不管是否发生异常都会执行,可以省略finally语句块。示例代码while True:n=eval(input(请输入一个正整数:)if n=-1:break#输入为-1时结束程序 if n0:continue#计算n的阶乘 s=1 for x in range(2,n+1):#当n不是整数时,会发生TypeError异常 s*=x

    15、print(%s!=%n,s)捕捉异常while True:try:n=eval(input(请输入一个正整数:)if n=-1:break#输入为-1时结束程序 if n x=1,2 try:.x0/0.except ZeroDivisionError:.print(除0错误).except IndexError:.print(索引下标超出范围).else:.print(没有错误).除0错误5.4.3 exceptas 在except语句中可以使用as为异常类创建一个实例对象 x=1,2 try:.x0/0#此处引发除0异常.except(ZeroDivisionError,IndexErr

    16、or)as exp:#处理多种异常.print(出错了:).print(异常类型:,exp._class_._name_)#输出异常类名称.print(异常信息:,exp)#输出异常信息.出错了:异常类型:ZeroDivisionError异常信息:division by zero5.4.4 捕捉所有异常except语句省略了异常类型,则不管发生何种类型的异常,均会执行except语句块中的异常处理代码 try:.2/0#引发除0异常.except:.print(出错了).出错了sys.exc_info()方法sys.exc_info()方法返回一个三元组:(type,value,traceo

    17、bj)type为异常类的类型,可用_name_属性获得异常类的名称。value为异常类的实例对象,直接将其输出可获得异常描述信息。traceobj是一个堆栈跟踪对象(traceback类的实例对象),使用traceback模块的print_tb()方法可获得堆栈跟踪信息示例代码 x=1,2,3 try:.print(x3).except:.import sys.x=sys.exc_info().print(异常类型:%s%x0._name_).print(异常描述:%s%x1).print(堆栈跟踪信息:).import traceback.traceback.print_tb(x2)5.4.

    18、5 异常处理结构的嵌套 Python允许在异常处理结构的内部嵌套另一个异常处理结构。在发生异常时,没有被内部捕捉处理的异常可以被外层捕捉。x=1,2 try:.try:.5/0.except ZeroDivisionError:.print(内部除0异常).x2/2#内部没有捕捉的异常.except IndexError:.print(外层下标越界异常)5.4.6 tryfinally终止行为不管try语句块中是否发生异常,finally语句块中的代码都会执。try:print(5/0)#发生除0异常except:print(出错了!)#发生异常后执行该语句finally:print(fina

    19、lly部分已执行!)#不管是否发生异常,都会执行该语句print(over)#异常处理结构的后续代码5.4.7 raise语句raise语句基本格式如下。raise异常类名#创建异常类的实例对象,并引发异常raise 异常类实例对象#引发异常类实例对象对应的异常raise#重新引发刚发生的异常Python执行raise语句时,会引发异常并传递异常类的实例对象。1用类名引发异常在raise语句中指定异常类名时,会创建该类的实例对象,然后引发异常,示例代码如下。raise IndexError#引发异常Traceback(most recent call last):File,line 1,in

    20、IndexError2用异常类实例对象引发异常可以直接使用异常类实例对象来引发异常,示例代码如下。x=IndexError()#创建异常类的实例对象 raise x#引发异常Traceback(most recent call last):File,line 1,in 3传递异常不带参数的raise语句可再次引发刚发生过的异常,其作用就是向外传递异常,示例代码如下。try:.raise IndexError#引发IndexError异常.except:.print(出错了).raise#再次引发IndexError异常4指定异常信息 在使用raise语句引发异常时,可以为异常类指定描述信息。r

    21、aise IndexError(索引下标超出范围)Traceback(most recent call last):File,line 1,in IndexError:索引下标超出范围 raise TypeError(使用了不兼容类型的数据)Traceback(most recent call last):File,line 1,in TypeError:使用了不兼容类型的数据5.4.8 异常链:异常引发异常可以通过raisefrom语句,使用异常来引发另一个异常。try:.5/0#引发除0异常.except Exception as x:.raise IndexError(下标越界)from

    22、 x#引发另一个异常5.4.9 assert语句assert语句的基本格式如下。assert条件表达式,dataassert语句在条件表达式的值为False时,引发AssertionError异常,data作为异常描述信息。x=0 assert x!=0,变量x的值不能为0Traceback(most recent call last):File,line 1,in AssertionError:变量x的值不能为0用try来捕捉assert语句引发的AssertionError异常。try:.import math.x=-5.assert x=0,参数x必须是非负数.except Exception as ex:.print(异常类型:,ex._class_._name_).print(异常信息:,ex).异常类型:AssertionError异常信息:参数x必须是非负数5.5 综合实例在IDLE创建一个Python程序,输出数字金字塔分析:图形共9行 每行前面的空格比上一行少一个 第n行的数字为:n、n-11、2 n

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:Python3基础教程第5章课件.pptx
    链接地址:https://www.163wenku.com/p-3371808.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库