Python程序设计循环结构程序设计ppt课件_第1页
Python程序设计循环结构程序设计ppt课件_第2页
Python程序设计循环结构程序设计ppt课件_第3页
Python程序设计循环结构程序设计ppt课件_第4页
Python程序设计循环结构程序设计ppt课件_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、本章主讲本章主讲 1-2Copyright SWFU-CISD, 2012. All rights reserved.程序设计的程序设计的3种基本结构种基本结构v(1)顺序结构()顺序结构(2)选择结构()选择结构(3)循环结构)循环结构 顺序结构顺序结构 是指程序流程按先后顺序执行,只有执行是指程序流程按先后顺序执行,只有执行了前一步,才能执行后一步。例如火车在轨道上行驶,只了前一步,才能执行后一步。例如火车在轨道上行驶,只有过了上一站点才能到达下一站点。有过了上一站点才能到达下一站点。 选择结构选择结构 又称分支结构,是指程序流程可以分几条又称分支结构,是指程序流程可以分几条路径执行。例如

2、在一个十字路口处,可以选择向东、南、路径执行。例如在一个十字路口处,可以选择向东、南、西、北几个方向行走。西、北几个方向行走。 循环结构循环结构 又称重复结构,是指程序流程重复执行某又称重复结构,是指程序流程重复执行某一段代码。例如万米跑,围着足球场跑道不停地跑,直到一段代码。例如万米跑,围着足球场跑道不停地跑,直到满足条件时(满足条件时(25圈)才停下来。圈)才停下来。1-3Copyright SWFU-CISD, 2012. All rights reserved.语句语句A语句语句B顺序结构顺序结构流程图流程图条件判断条件判断语句语句A真真语句语句B假假选择结构选择结构流程图流程图条件判

3、断条件判断循环体循环体真真假假循环结构循环结构流程图流程图3种基本结构的流程图种基本结构的流程图1-4Copyright SWFU-CISD, 2012. All rights reserved.【问题问题4-1】 用户输入若干个分数,求所有分数用户输入若干个分数,求所有分数的平均分。每输入一个分数后询问是否继续输的平均分。每输入一个分数后询问是否继续输入下一个分数,回答入下一个分数,回答“yes”就继续输入下一就继续输入下一个分数,回答个分数,回答“no”就停止输入分数。就停止输入分数。分析:该问题需要输入若干分数并求和,这是一分析:该问题需要输入若干分数并求和,这是一个重复的过程,应使用循

4、环结构解决。循环次个重复的过程,应使用循环结构解决。循环次数事先不确定,需根据应答数事先不确定,需根据应答“yes”、“no”来决定循环是否继续。来决定循环是否继续。1-5Copyright SWFU-CISD, 2012. All rights reserved. #ques4_1.pyendFlag=yessum=0.0count=0while endFlag0=y: x=input(请输入一个分数请输入一个分数: ) sum=sum + x count=count + 1 endFlag=raw_input(继续继续输入吗输入吗(yes or no)? ) print n平均分是平均分是

5、: , sum / count1-6Copyright SWFU-CISD, 2012. All rights reserved.4.1循环结构设计问题循环结构设计问题【问题【问题4-2】用户输入一个列表,求出列表中所】用户输入一个列表,求出列表中所有正偶数之和。有正偶数之和。分析:由于不知道用户输入的具体数据及个数,分析:由于不知道用户输入的具体数据及个数,因此需要在循环结构中进行判断和累加。因此需要在循环结构中进行判断和累加。1-7Copyright SWFU-CISD, 2012. All rights reserved.#ques4_2.pyli=input(请输入一个列表请输入一个列

6、表:)sum=0for x in li: if x0 and x%2=0: sum+=xprint sum=,sum程序输入及运行结果:程序输入及运行结果:请输入一个列表:请输入一个列表:2, 3, 4, -5, 6, 12sum= 241-8Copyright SWFU-CISD, 2012. All rights reserved.4.2 循环结构概述循环结构概述v循环结构是一种重复执行的程序结构。实际应用中,循环结构是一种重复执行的程序结构。实际应用中,常会碰到一些需要重复执行的步骤,如级数求和、常会碰到一些需要重复执行的步骤,如级数求和、统计报表等等。例如:统计报表等等。例如: (1)

7、计算)计算 1 + 2 + 3 + + 100,这是一个级数求和,这是一个级数求和问题,需要重复执行问题,需要重复执行100次,对次,对100个数依次进行个数依次进行累加。累加。 (2)假设)假设1个班级中有个班级中有n名同学,统计男同学和女名同学,统计男同学和女同学各有多少名。该问题的求解需要重复执行同学各有多少名。该问题的求解需要重复执行n次,次,对每对每1个同学依次进行判断,同时统计男同学和女个同学依次进行判断,同时统计男同学和女同学的人数。同学的人数。1-9Copyright SWFU-CISD, 2012. All rights reserved.4.2 循环结构概述循环结构概述(3

8、)给定)给定2个整数,求它们的最大公约数和最小个整数,求它们的最大公约数和最小公倍数。例如:给定公倍数。例如:给定6和和9,求最大公约数时,求最大公约数时,循环过程从循环过程从6依次递减至依次递减至1,当循环到,当循环到3时,判时,判断得断得6和和9都能被都能被3整除,于是终止循环,求得整除,于是终止循环,求得最大公约数是最大公约数是3.;求最小公倍数时,循环过程;求最小公倍数时,循环过程从从9依次递增至依次递增至54,当循环到,当循环到18时,判断得时,判断得18同时能被同时能被6和和9整除,于是终止循环,求得最小整除,于是终止循环,求得最小公倍数是公倍数是18。 vPython提供了两种基

9、本的循环结构语提供了两种基本的循环结构语句句while语句、语句、for语句语句。1-10Copyright SWFU-CISD, 2012. All rights reserved.4.3 while语句语句while 表达式表达式:循环体循环体表达式表达式循环体循环体真真假假while 表达式表达式:循环体循环体else:else子句子句1-11Copyright SWFU-CISD, 2012. All rights reserved.(1)while语句是一个语句是一个条件循环语句条件循环语句,即首先计算表,即首先计算表达式,根据表达式值的真、假来决定是否继续循环。达式,根据表达式值的

10、真、假来决定是否继续循环。 (2)while语句的语法与语句的语法与if语句类似,要使用语句类似,要使用缩进缩进来来分隔子句。分隔子句。(3)while语句的条件表达式不需要用括号括起来,语句的条件表达式不需要用括号括起来,但是表达式后面必须有但是表达式后面必须有冒号冒号。(4)使用)使用while语句编程通常会遇到两种题型,一种语句编程通常会遇到两种题型,一种是循环次数事先确定的问题;一种是循环次数事先不是循环次数事先确定的问题;一种是循环次数事先不确定的问题。确定的问题。说明:说明:1-12Copyright SWFU-CISD, 2012. All rights reserved.4.3

11、.1 while语句解决不确定循语句解决不确定循环次数的问题环次数的问题【分析分析】该问题使用循环结构该问题使用循环结构解决,由于不确定用解决,由于不确定用户即将输入几个正整户即将输入几个正整数,因此属于不确定数,因此属于不确定循环次数的问题。循环次数的问题。【例例4-1】编程从键盘输入若编程从键盘输入若干正整数,求所有输入整数干正整数,求所有输入整数之和。当输入整数为负数时之和。当输入整数为负数时,结束该操作。,结束该操作。1-13Copyright SWFU-CISD, 2012. All rights reserved.#Exp4_1.pyprint 请输入若干正整数进行求和操作,当输入

12、负数时结束请输入若干正整数进行求和操作,当输入负数时结束: s = 0 x = input(请输入一个整数请输入一个整数: )while x = 0: s = s + x x = input(请输入一个整数请输入一个整数: )print 整数之和整数之和=, s程序:程序:程序运行结果:程序运行结果:请输入若干正整数进行求和操作,当输入负数时结请输入若干正整数进行求和操作,当输入负数时结束束: 请输入一个整数请输入一个整数: 10请输入一个整数请输入一个整数: 20请输入一个整数请输入一个整数: 301-14Copyright SWFU-CISD, 2012. All rights reser

13、ved.【例例4-2】编程从键盘输入若干个字符,一边输入编程从键盘输入若干个字符,一边输入一边输出,当输入一边输出,当输入“#”字符时终止该操作。字符时终止该操作。【分析分析】(1)本题使用循环)本题使用循环结构解决,每次循环结构解决,每次循环从键盘输入一个字符从键盘输入一个字符,直到输入为,直到输入为“#”字符时停止循环。字符时停止循环。(2)由于输入的字)由于输入的字符个数无法确定,因符个数无法确定,因此此循环次数不确定循环次数不确定。 是是否否1-15Copyright SWFU-CISD, 2012. All rights reserved.a = raw_input(请输入字符,如果

14、输入请输入字符,如果输入 # 号则结束输入操作号则结束输入操作: )while a != #: #判断输入的是否是井号判断输入的是否是井号print 您输入的字符是:您输入的字符是:, a #打印输入的字符打印输入的字符#以下语句是再次输入一个新的字符以下语句是再次输入一个新的字符a = raw_input(请输入字符,如果输入请输入字符,如果输入 # 号则结束输入操作号则结束输入操作: )else:print 输入结束输入结束程序:程序:提问:提问:(1)循环结束后,变量)循环结束后,变量 a 中的值是什么?中的值是什么?(2)如果循环体中没有下面这条语句会怎么样?)如果循环体中没有下面这条

15、语句会怎么样?a =raw_ input(请输入字符,如果输入请输入字符,如果输入 # 号则结束输入操作号则结束输入操作: )1-16Copyright SWFU-CISD, 2012. All rights reserved.4.3.2 while语句解决确定循环次数的问题语句解决确定循环次数的问题 确定循环次数的问题是指循环之前可以预确定循环次数的问题是指循环之前可以预知循环即将执行的次数,为了控制循环次数,知循环即将执行的次数,为了控制循环次数,通常在程序中设置一个计数变量,每次循环,通常在程序中设置一个计数变量,每次循环,该变量进行自增或自减操作,当变量值自增到该变量进行自增或自减操作

16、,当变量值自增到大于设定的上限值或者自减到小于设定的下限大于设定的上限值或者自减到小于设定的下限值时,循环自动结束。值时,循环自动结束。1-17Copyright SWFU-CISD, 2012. All rights reserved.4.3.2 while语句解决确定循环次数的问题语句解决确定循环次数的问题【例例4-3】 编程计算编程计算1+2+3+100 的值。的值。分析:本题使用循环结构解决,每循环一次累加分析:本题使用循环结构解决,每循环一次累加一个整数值,整数的取值范围为一个整数值,整数的取值范围为1100。由于。由于整数的范围是确定的,因此循环次数也是确定整数的范围是确定的,因此

17、循环次数也是确定的。的。1-18Copyright SWFU-CISD, 2012. All rights reserved.4.3.2 while语句解决确定循环次数的语句解决确定循环次数的问题问题程序:程序:#Exp4_3.pyi, s = 1, 0while i = 100 :s = s + ii += 1print 1+2+3+.+100 = , s框图:1-19Copyright SWFU-CISD, 2012. All rights reserved.4.3.2 while语句解决确定循环次数的语句解决确定循环次数的问题问题分析:本题使用循环结构解决,每循环一次输出一分析:本题使用

18、循环结构解决,每循环一次输出一个列表元素值,由于列表定义后,其长度是已知个列表元素值,由于列表定义后,其长度是已知的,因此循环次数也是确定的。的,因此循环次数也是确定的。【例例4-4】 依次输出列表中每个元素的值。依次输出列表中每个元素的值。1-20Copyright SWFU-CISD, 2012. All rights reserved.4.3.2 while语句解决确定循环次数的问题语句解决确定循环次数的问题程序:程序:#Exp4_4.pya_list = a, b, mpilgrim, z, examplea_len = len(a_list)i = 0while i a_len: print 列表的第列表的第, i+1, 个元个元素是:素是:, a_listi i += 11-21Copyright SWFU-CISD, 2012. All rights reserved.练习练习: :1.1. 求求1+3+5+991+3+5+992.2. 求求2 2* *4 4* *6 6* * *12121-22Copyright SWFU-CISD, 2012. All rights res

温馨提示

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

评论

0/150

提交评论