python顺序结构程序设计_Python程序设计循环结构程序设计.ppt

计算机编程导论 1-* Copyright ? SWFU-CISD, 2012. All rights reserved. 本章主讲 第4章 循环结构 程序设计 程序设计的3种基本结构 (1)顺序结构(2)选择结构(3)循环结构 顺序结构 —— 是指程序流程按先后顺序执行,只有执行了前一步,才能执行后一步。例如火车在轨道上行驶,只有过了上一站点才能到达下一站点。 选择结构 —— 又称分支结构,是指程序流程可以分几条路径执行。例如在一个十字路口处,可以选择向东、南、西、北几个方向行走。 循环结构 —— 又称重复结构,是指程序流程重复执行某一段代码。例如万米跑,围着足球场跑道不停地跑,直到满足条件时(25圈)才停下来。 语句A 语句B 顺序结构 流程图 条件判断 语句A 真 语句B 假 选择结构 流程图 条件判断 循环体 真 假 循环结构 流程图 3种基本结构的流程图 【问题4-1】 用户输入若干个分数,求所有分数的平均分。每输入一个分数后询问是否继续输入下一个分数,回答“yes”就继续输入下一个分数,回答“no”就停止输入分数。 分析:该问题需要输入若干分数并求和,这是一个重复的过程,应使用循环结构解决。循环次数事先不确定,需根据应答“yes”、“no”来决定循环是否继续。 #ques4_1.py   endFlag="yes"   sum=0.0   count=0   while endFlag[0]=='y': x=input("请输入一个分数: ") sum=sum + x count=count + 1 endFlag=raw_input("继续输入吗(yes or no)? ")  print "\n平均分是: ", sum / count 4.1循环结构设计问题 【问题4-2】用户输入一个列表,求出列表中所有正偶数之和。 分析:由于不知道用户输入的具体数据及个数,因此需要在循环结构中进行判断和累加。 #ques4_2.py li=input('请输入一个列表:') sum=0 for x in li: if x>0 and x%2==0: sum+=x print 'sum=',sum 程序输入及运行结果: 请输入一个列表:[2, 3, 4, -5, 6, 12] sum= 24 4.2 循环结构概述 循环结构是一种重复执行的程序结构。实际应用中,常会碰到一些需要重复执行的步骤,如级数求和、统计报表等等。例如: (1)计算 1 + 2 + 3 + … + 100,这是一个级数求和问题,需要重复执行100次,对100个数依次进行累加。 (2)假设1个班级中有n名同学,统计男同学和女同学各有多少名。该问题的求解需要重复执行n次,对每1个同学依次进行判断,同时统计男同学和女同学的人数。 4.2 循环结构概述 (3)给定2个整数,求它们的最大公约数和最小公倍数。例如:给定6和9,求最大公约数时,循环过程从6依次递减至1,当循环到3时,判断得6和9都能被3整除,于是终止循环,求得最大公约数是3.;求最小公倍数时,循环过程从9依次递增至54,当循环到18时,判断得18同时能被6和9整除,于是终止循环,求得最小公倍数是18。 Python提供了两种基本的循环结构语句——while语句、for语句。 4.3 while语句 while 表达式: 循环体 表达式 循环体 真 假 while 表达式: 循环体 else: else子句 (1)while语句是一个条件循环语句,即首先计算表达式,根据表达式值的真、假来决定是否继续循环。 (2)while语句的语法与if语句类似,要使用缩进来分隔子句。 (3)while语句的条件表达式不需要用括号括起来,但是表达式后面必须有冒号。 (4)使用while语句编程通常会遇到两种题型,一种是循环次数事先确定的问题;一种是循环次数事先不确定的问题。 说明: 4.3.1 while语句解决不确定循环次数的问题 【分析】 该问题使用循环结构解决,由于不确定用户即将输入几个正整数,因此属于不确定循环次数的问题。 【例4-1】编程从键盘输入若干正整数,求所有输入整数之和。当输入整数为负数时,结束该操作。 #Exp4_1.py print '请输入若干正整数进行求和操作,当输入负数时结束: ' s = 0 x = input("请输入一个整数: ") while x >= 0: s = s + x x = input("请输入一个整数: ") print '整数之和=', s 程序: 程序运行结果: 请输入若干正整数进行求和操作,当输入

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值