您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > AI人工智能 > python程序的控制结构(PPT64页)
Python语言程序设计第4章程序的控制结构程序的基本结构程序的流程图程序流程图用一系列图形、流程线和文字说明描述程序的基本操作和控制流程,它是程序分析和过程描述的最基本方式。•流程图的基本元素包括7种程序的流程图程序流程图示例:由连接点A连接的一个程序程序的基本结构•顺序结构是程序的基础,但单一的顺序结构不可能解决所有问题。•程序由三种基本结构组成:顺序结构分支结构循环结构•这些基本结构都有一个入口和一个出口。任何程序都由这三种基本结构组合而成程序的基本结构•顺序结构是程序按照线性顺序依次执行的一种运行方式,其中语句块1S1和语句块S2表示一个或一组顺序执行的语句程序的基本结构分支结构是程序根据条件判断结果而选择不同向前执行路径的一种运行方式,包括单分支结构和二分支结构。由二分支结构会组合形成多分支结构程序的基本结构循环结构是程序根据条件判断结果向后反复执行的一种运行方式,根据循环体触发条件不同,包括条件循环和遍历循环结构程序的基本结构实例对于一个计算问题,可以用IPO描述、流程图描述或者直接以Python代码方式描述微实例4.1:圆面积和周长的计算。输入:圆半径R处理:圆面积:S=π*R*R圆周长:L=2*π*R输出:圆面积S、周长L1234R=eval(input(请输入圆半径:))S=3.1415*R*RL=2*3.1415*Rprint(面积和周长:,S,L)问题IPO描述Python代码描述程序的基本结构实例微实例4.2:实数绝对值的计算。1234R=eval(input(输入实数:))if(R0):R=-Rprint(绝对值,R)(a)问题IPO描述(b)流程图描述(c)Python代码描述程序的基本结构实例微实例4.3:整数累加。输入:正整数R处理:S=1+2+3+…+R输出:输出S123456R=eval(input(请输入正整数:))i,S=0,0while(i=R):S=S+ii=i+1print(累加求和,S)(a)问题IPO描述(b)流程图描述(c)Python代码描述程序的基本结构实例IPO描述主要用于区分程序的输入输出关系,重点在于结构划分,算法主要采用自然语言描述流程图描述侧重于描述算法的具体流程关系,流程图的结构化关系相比自然语言描述更进一步,有助于阐述算法的具体操作过程Python代码描述是最终的程序产出,最为细致。程序的分支结构单分支结构:if语句Python中if语句的语法格式如下:if条件:语句块•语句块是if条件满足后执行的一个或多个语句序列•语句块中语句通过与if所在行形成缩进表达包含关系•if语句首先评估条件的结果值,如果结果为True,则执行语句块里的语句序列,然后控制转向程序的下一条语句。如果结果为False,语句块里的语句会被跳过。布尔类型(bool)TrueFlasebool函数:bool(2)A=12type(A)数字非零为True字符串为True,空字符串为False关系运算符•if语中条件部分可以使用任何能够产生True或False的语句•形成判断条件最常见的方式是采用关系操作符•Python语言共有6个关系操作符操作符数学符号操作符含义小于=≤小于等于=≥大于等于大于===等于!=不等于逻辑操作符(notandor)•优先级是notandor•逻辑操作符and和or也称作短路操作符(short-circuitlogic):它们的参数从左向右解析,一旦结果可以确定就停止。例如,如果A和C为真而B为假,AandBandC不会解析C•3and4,4and3•3or4(3),4or3(4)单分支结构:if语句if语句的控制流程图if语句中语句块执行与否依赖于条件判断。但无论什么情况,控制都会转到if语句后与该语句同级别的下一条语句单分支结构:if语句微实例4.4:PM2.5空气质量提醒(1)输入:接收外部输入PM2.5值处理:ifPM2.5值=75,打印空气污染警告if35=PM2.5值75,打印空气污染警告ifPM2.5值35,打印空气质量优,建议户外运动输出:打印空气质量提醒微实例4.4m4.4PM25Warning.py1234567PM=eval(input(请输入PM2.5数值:))if0=PM35:print(空气优质,快去户外运动!)if35=PM75:print(空气良好,适度户外活动!)if75=PM:print(空气污染,请小心!)二分支结构:if-else语句Python中if-else语句用来形成二分支结构,语法格式如下:if条件:语句块1else:语句块2•语句块1是在if条件满足后执行的一个或多个语句序列•语句块2是if条件不满足后执行的语句序列•二分支语句用于区分条件的两种可能True或者False,分别形成执行路径二分支结构:if-else语句微实例4.5:PM2.5空气质量提醒(2)微实例4.5m4.5PM25Warning.py12345PM=eval(input(请输入PM2.5数值:))ifPM=75:print(空气存在污染,请小心!)else:print(空气没有污染,可以开展户外运动!)二分支结构:if-else语句二分支结构还有一种更简洁的表达方式,适合通过判断返回特定值,语法格式如下:表达式1if条件else表达式212PM=eval(input(请输入PM2.5数值:))print(空气{}污染!.format(存在ifPM=75else没有))二分支结构:if-else语句count=2countifcount!=0else不存在2count=0countifcount!=0else不存在不存在if…else的紧凑结构非常适合对特殊值处理的情况,如下:多分支结构:if-elif-else语句Python的if-elif-else描述多分支结构,语句格式如下:if条件1:语句块1elif条件2:语句块2...else:语句块N多分支结构:if-elif-else语句•多分支结构是二分支结构的扩展,这种形式通常用于设置同一个判断条件的多条执行路径。•Python依次评估寻找第一个结果为True的条件,执行该条件下的语句块,同时结束后跳过整个if-elif-else结构,执行后面的语句。如果没有任何条件成立,else下面的语句块被执行。else子句是可选的多分支结构:if-elif-else语句微实例4.4通过多条独立的if语句对同一个变量PM进行判断,这种情况更适合多分支结构,改造后的代码如下1234567PM=eval(input(请输入PM2.5数值:))if0=PM35:print(空气优质,快去户外运动!)elif35=PM75:print(空气良好,适度户外活动!)else:print(空气污染,请小心!)身体质量指数BMIBMI的定义如下:BMI=体重(kg)÷身高2(m2)例如,一个人身高1.75米、体重75公斤,他的BMI值为24.49身体质量指数BMI分类国际BMI值(kg/m2)国内BMI值(kg/m2)偏瘦18.518.5正常18.5~2518.5~24偏胖25~3024~28肥胖=30=28编写一个根据体重和身高计算BMI值的程序,并同时输出国际和国内的BMI指标建议值身体质量指数BMI实例代码5.1e5.1CalBMI.py12345678910111213141516171819202122#e5.1CalBMI.pyheight,weight=eval(input(请输入身高(米)和体重\(公斤)[逗号隔开]:))bmi=weight/pow(height,2)print(BMI数值为:{:.2f}.format(bmi))wto,dom=,ifbmi18.5:#WTO标准wto=偏瘦elifbmi25:#18.5=bmi25wto=正常elifbmi30:#25=bmi30wto=偏胖else:wto=肥胖ifbmi18.5:#我国卫生部标准dom=偏瘦elifbmi24:#18.5=bmi24dom=正常elifbmi28:#24=bmi28dom=偏胖else:dom=肥胖print(BMI指标为:国际'{0}',国内'{1}'.format(wto,dom))请输入身高(米)和体重(公斤)[逗号隔开]:1.75,75BMI数值为:24.49BMI指标为:国际'正常',国内'偏胖'实例代码5.2e5.2CalBMI.py123456789101112131415161718#e5.2CalBMI.pyheight,weight=eval(input(请输入身高(米)和体重\(公斤)[逗号隔开]:))bmi=weight/pow(height,2)print(BMI数值为:{:.2f}.format(bmi))wto,dom=,ifbmi18.5:wto,dom=偏瘦,偏瘦elif18.5=bmi24:wto,dom=正常,正常elif24=bmi25:wto,dom=正常,偏胖elif25=bmi28:wto,dom=偏胖,偏胖elif28=bmi30:wto,dom=偏胖,肥胖else:wto,dom=肥胖,肥胖print(BMI指标为:国际'{0}',国内'{1}'.format(wto,dom))程序的循环结构遍历循环:for语句遍历循环:根据循环执行次数的确定性,循环可以分为确定次数循环和非确定次数循环。确定次数循环指循环体对循环次数有明确的定义循环次数采用遍历结构中元素个数来体现Python通过保留字for实现“遍历循环”:for循环变量in遍历结构:语句块遍历循环:for语句遍历结构可以是字符串、文件、组合数据类型或range()函数:循环N次foriinrange(N):语句块遍历文件fi的每一行forlineinfi:语句块遍历字符串sforcins:语句块遍历列表lsforiteminls:语句块遍历循环还有一种扩展模式,使用方法如下:for循环变量in遍历结构:语句块1else:语句块2遍历循环:for语句•当for循环正常执行之后,程序会继续执行else语句中内容。else语句只在循环正常执行之后才执行并结束,•因此,可以在语句块2中放置判断循环执行情况的语句。12345forsinBIT:print(循环进行中:+s)else:s=循环正常结束print(s)循环进行中:B循环进行中:I循环进行中:T循环正常结束无限循环:while语句无限循环:•无限循环一直保持循环操作直到特定循环条件不被满足才结束,不需要提前知道确定循环次数。•Python通过保留字while实现无限循环,使用方法如下:while条件:语句块语句块无限循环:while语句•无限循环也有一种使用保留字else的扩展模式:while条件:语句块1else:语句块21234567s,idx=BIT,0whileidxlen(s):print(循环进行中:+s[idx])idx+=1else:s=循环正常结束print(s)循环进行中:B循环进行中:I循环进行中:T循环正常结束循环保留字:break和continue•循环结构有两个辅助保留字:break和continue,它们用来辅助控制循环执行•break用来跳出最内层for或while循环,脱离该循环后程序从循环后代吗继续续执行12345forsinBIT:foriinrange(10):print(s,end=)ifs==I:breakBBBBBBBBBBITTTTTTTTTT其中,break语句跳出了最内层for循环,但仍然继续执行外层循环。每个break语句只有能力跳出当前层次循环循环保留字:break和continu
本文标题:python程序的控制结构(PPT64页)
链接地址:https://www.777doc.com/doc-26018 .html