Python04_Python程序的流程课件_第1页
Python04_Python程序的流程课件_第2页
Python04_Python程序的流程课件_第3页
Python04_Python程序的流程课件_第4页
Python04_Python程序的流程课件_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、4 Python程序的流程第4章 Python程序的流程本章内容程序设计流程分支结构循环结构流程控制的其他语句流程控制语句的应用4.1 程序设计流程 结构化程序设计是一种 面向过程的编程方法,使用程序流程图、PAD图、N-S图等作为辅助设计工具。程序流程图应用广泛的程序设计表示工具,也称为程序框图。独立于任何一种程序设计语言。构成程序流图的基本图例如下。4.1 程序设计流程结构化程序设计基本流程3种基本流程:顺序结构、分支结构和循环结构顺序结构是语句按照书写的顺序依次执行分支结构又称为选择结构,根据计算所得的表达式的值来判断应选择执行哪一个流程的分支循环结构则是在一定条件下反复执行一段语句的流

2、程结构。4.2 分支结构按分支的条件划分如果是一个条件,形成简单分支结构;如果是两个条件,形成选择选择的分支结构;如果是多个条件,形成多重分支结构。1 简单分支结构:if语句if : 如果条件表达式的取值为True,则执行if分支的语句块statements否则,绕过if分支直接执行if语句块后面的其他语句。4.2 分支结构if-else语句实现选择分支if :else:如果boolCondition的取值为True,则执行if分支的statements1语句块,否则执行else分支的statements2语句块。if-elif-else语句实现多分支只执行第1个条件为True的语句块。如果所

3、有条件均为False,执行else后面的语句块,else分支是可选的。if :elif :else:4.2 分支结构分支的嵌套是指分支中还存在分支的情况,即if语句中还包含着if语句。4.3 循环结构遍历循环:for语句for循环结构for in : var是一个变量,seq是一个序列。for循环的执行次数是由遍历结构中元素个数决定。经常使用的遍历方式如下。有限次遍历:for i in range(n): #n为遍历次数遍历文件:for line in myfile: #myfile为文件的引用遍历字符串:for ch in mystring: #mystring为字符串的引用遍历列表:for

4、 item in mylist: #mylist为列表的引用4.3 循环结构 range() 函数用于创建一个整数列表,用在for循环中。range(start, stop, step) start:计数从start开始。默认是从0开始。 end:计数到end结束,但不包括end。 step:步长,默认为1。例4-4 range()函数的应用。for循环示例例4-5 for循环示例,计算1100能被3整除的数之和例4-6 for循环的示例,程序的功能是计算1!+2!+n!。 4.3 循环结构 条件循环:while语句根据初始条件进行循环,当条件不满足时,循环结束。while : 其中boolC

5、ondition为布尔表达式,statements语句块是循环体。执行过程是先判断逻辑表达式的值,若为True,则执行循环体,循环体执行完之后再转向逻辑表达式并做计算与判断;当计算出逻辑表达式的值为False时,跳过循环体执行while语句后面循环体外的语句。例4-7 while循环示例。4.3 循环结构循环的嵌套无论是for循环还是while循环,其中都可以再包括循环,从而构成了循环的嵌套。 1 #ex0408.py 2 k=eval(input(请输入阶乘的数值:) 3 sum1=0 4 for i in range(1,k): 5 t = 1 6 for j in range(1,i+1

6、): 7 t *= j 8 sum1 += t 9 print(sum1)4.4 流程控制的其他语句跳转语句用来实现程序执行过程中流程的转移,包括break语句和continue语句。 break语句 break语句的作用是循环体内部跳出,即结束循环。例4-10 break语句示例,求99的最大真约数。 1 #ex0410.py 2 a=eval(input(请输入数值:) 3 i= a/2 #等价于i=int(a/2) 4 while i0: 5 if a%i=0: break 6 i-=1 7 print(a,的最大真约数为:,i)4.4 流程控制的其他语句continue语句必须用于循环

7、结构中,作用是终止本轮循环,直接进入下一轮循环。也称为短路语句,只对本次循环短路,并不终止整个循环。例4-11 continue语句示例,求输入数值中正数之和,负数忽略。 1 #ex0411.py 2 s=0 3 for i in range(6): 4 x=eval(input(输入数值数据: ) 5 if x0:continue 6 s+=x 7 8 print(正数之和是: ,s)4.4 流程控制的其他语句pass语句空语句,主要是为了保持程序结构的完整性设计的。一般用做占位语句,该语句不影响其后面语句的执行。右边的例子,如果省略pass语句,运行结果没有任何变化例4-12 pass语句

8、示例,打印列表中的奇数。 1 #ex0412.py 2 for i in 1,4,7,8,9: 3 if i%2=0: 4 pass 5 print(pass语句处将来可以添加偶数处理的代码) 6 continue 7 print(奇数,i)3.5 流程控制的其他语句循环结构中的else语句else语句主要用在分支结构中。Python中的for循环、while循环、异常处理结构中也用else语句。循环中的else语句在循环正常结束后被执行。注意,如果有break语句,也会跳过else语句块。例3-15 循环结构中使用else语句。str1=Hi,Pythonfor ch in str1: pr

9、int(ch,end=)else: print(字符串遍历结束)3.6 流程控制语句的应用用蒙特卡罗方法计算圆周率。蒙特卡罗使用随机数和概率来解决问题,在计算数学、物理和化学等方面有广泛的应用。为了使用蒙特卡罗方法来计算圆周率,画一个圆的外接正方形。假设圆的半径是1,那么圆的面积是,外接正方形的面积是4。任意产生正方形内的一个点,该点落在圆内的概率是:圆面积/正方形面积,即/4。3.6 流程控制语句的应用例4-15 用蒙特卡罗方法计算圆周率。 1 #ex0415.py 2 import random 3 NUMBER = 100000 4 n = 0 5 for i in range(NUMB

10、ER): 6 x = random.random() * 2 - 1 7 y = random.random() * 2 - 1 8 if (x * x + y * y) = 1): 9 n+=110 pi = 4.0 * n / NUMBER11 print(使用蒙特卡罗方法计算圆周率的值是:,pi)在正方形内随机产生10000个点,落在圆内点的数量用n表示。因此,n的值约是10000*/4。可以估算的值约为4*n/10000。小结结构化程序设计使用程序流程图、PAD图、N-S图等作为设计工具,结构化程序设计包括顺序结构、分支结构和循环结构3种流程。if语句来实现分支结构,for语句和whi

11、le语句实现循环结构。分支和循环都可以嵌套。跳转语句包括break语句和continue语句,break语句的作用是循环体内部跳出,continue语句必须用于循环结构中,它的作用是跳过当前的循环,进入下一轮循环。pass 语句的含义是空语句,主要是为了保持程序结构的完整性设计的。作业:(1)给定某一字符串s,对其中的每一字符c大小写转换:如果c是大写字母,则将它转换成小写字母;如果c是小写字母,则将它转换成大写字母;如果c不是字母,则不转换。(2)输入一个整数,将各位数字反转后输出。(3)计算12-22+32-42+972-982+992。(4)一个数如果恰好等于它的因子这和,这个数就称为“完数”,例如,6的因子为1,2,3,而6=1+2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论