您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > ppt2-2 python编程基础知识--程序控制结构
程序的控制结构程序的基本结构程序的基本结构•顺序结构是程序的基础,但单一的顺序结构不可能解决所有问题。•程序由三种基本结构组成:顺序结构分支结构循环结构•这些基本结构都有一个入口和一个出口。任何程序都由这三种基本结构组合而成程序的基本结构•顺序结构是程序按照线性顺序依次执行的一种运行方式,其中语句块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代码描述程序的分支结构单分支结构:if语句Python中if语句的语法格式如下:if条件:语句块•语句块中语句通过与if所在行形成缩进表达包含关系•if语句首先评估条件的结果值,如果结果为True,则执行语句块里的语句序列。如果结果为False,语句块里的语句会被跳过。单分支结构:if语句•if语中条件部分可以使用任何能够产生True或False的语句•形成判断条件最常见的方式是采用关系操作符•Python语言共有6个关系操作符操作符数学符号操作符含义小于=≤小于等于=≥大于等于大于===等于!=不等于if语中条件部分可以使用任何能够产生True或False的语句•算术运算符:+、-、*、/、//、%、**•关系运算符:、、==、=、=、!=,可以连续使用•123•True•123•False•测试运算符:in、notin、is、isnot•逻辑运算符:and、or、not,注意短路求值•位运算符:~、&、|、^、、•矩阵乘法运算符:@单分支结构:if语句在选择和循环结构中,条件表达式的值只要不是False、0(或0.0、0j等)、空值None、空列表、空元组、空集合、空字典、空字符串、空range对象或其他空迭代对象,Python解释器均认为与True等价单分支结构:if语句if3:#使用整数作为条件表达式print(5)5a=[1,2,3]ifa:#使用列表作为条件表达式print(a)[1,2,3]a=[]ifa:print(a)else:print('empty')empty单分支结构: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-elif-else语句Python的if-elif-else描述多分支结构,语句格式如下:if条件1:语句块1elif条件2:语句块2...else:语句块N多分支结构: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指标建议值请输入身高(米)和体重(公斤)[逗号隔开]:1.75,75BMI数值为:24.49BMI指标为:国际'正常',国内'偏胖'程序的循环结构遍历循环: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和continue•continue用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但不跳出当前循环。•对比continue和break语句,如下1234forsinPYTHON:ifs==T:continueprint(s,end=)1234forsinPYTHON:ifs==T:breakprint(s,end=)PYHONPY•continue语句只结束本次循环,而不终止整个循环的执行。•break语句则是结束整个循环过程,不再判断执行循环的条件循环保留字:break和continue•for循环和while循环中都存在一个else扩展用法。•else中的语句块只在一种条件下执行,即for循环正常遍历了所有内容没有因为break或return而退出。•continue保留字对else没有影响。看下面两个例子123456forsinPYTHON:ifs==T:continueprint(s,end=)else:print(正常退出)123456forsinPYTHON:ifs==T:breakprint(s,end=)else:print(正常退出)PYHON正常退出PY小练习:求能同时被7和5整除的数字求1~100之间能被7整除,但不能同时被5整除的所有整数。foriinrange(1,101):ifi%7==0andi%5!=0:print(i)小练习:改进turtle画图程序要求允许用户输入绘制多边形的边数,然后开始绘图。当用户输入小于3的数字时,程序退出,否则程序持续运行。random库的使用random库概述•随机数在计算机应用中十分常见,Python内置的random库主要用于产生各种分布的伪随机数序列。random库采用梅森旋转算法(Mersennetwister)生成伪随机数序列,可用于除随机性要求更高的加解密算法外的大多数工程应用。•使用random库主要目的是生成随机数,这个库提供了不同类型的随机数函数,所有函数都是基于random.random()函数扩展而来。random库解析函数描述seed(a=None)初始化随机数种子,默认值为当前系统时间random()生成一个[0.0,1.0)之间的随机小数randint(a,b)生成一个[a,b]之间的整数getrandbits(k)生成一个k比特长度的随机整数randrange(start,stop[,step])生成一个[start,stop)之间以step为步数的随机整数uniform(a,b)生成一个[a,b]之间的随机小数choice(seq)从序列类型(例如:列表)中随机返回一个元素shuffle(seq)将序列类型中元素随机排列,返回打乱后的序列sample(pop,k)从pop类型中随机选取k个元素,以列表类型返回random库解析对random库的引用方法与math库一样,采用下面两种方式实现:impo
本文标题:ppt2-2 python编程基础知识--程序控制结构
链接地址:https://www.777doc.com/doc-3979479 .html