内容正文:
问题引入
项目小组为了筹集购买奖品和纪念品的费用,准备开展一次募捐活动,计划向第一个赞助人募捐20元,向第二个赞助人募捐25元……后一个比前一个多募捐5元,依次下去,第几个人募捐后募集到的总费用累计超过500元?
如何利用计算机程序解决该问题?
护国中学
循环结构
程序的循环结构是程序设计中常用到的基本结构之一。循环是让计算机自动完成重复工作的常见方式。
循环结构
for循环
while循环
while循环的应用
1 while循环的一般格式
while (表达式):
语句或语句组
注:①while(表达式)后面加“:”;
②语句或语句组严格遵循相同的缩进。缩进通常是一个制表符(\t)或者4个空格字符。
1个空格
Tab
while循环的应用
1 while循环的一般格式
while (表达式):
语句或语句组
注:(1)表达式的值为真(True)或假(False)。
(2)当表达式的值为真时,执行循环体语句;当表达式的值为假时,退出循环,执行循环体外的下一条语句(即当后面没有缩进的第一条语句)。
while循环的应用
1 while循环的一般格式
while (表达式):
语句或语句组
注:(3)每次循环都是执行完循环体语句后回到表达式处重新开始判断,重新计算表达式的值。一旦表达式的值为假就退出循环,为真时就继续执行循环体语句。
(4)循环体中必须有改变条件表达式值的语句,否则将成为死循环。
1 while循环的执行过程
while循环的应用
上条语句
表达式?
循环语句
下条语句
Y
N
小试牛刀
以下哪个是Python中while循环的标准格式示例?( )
A.
while condition
statements
B.
while condition:
statements
C.
while condition:
statements
D.
while (condition):
statements
B
D
探究活动一
计算1到10的和
分析问题
计算1到10的和,即计算sum=1+2+3+...+10,这里一共进行了 次循环,可以通过变量i记录循环的次数,即i=1,2,3...10。
10
设计算法
1.给i赋一个初始值i=1;
2.给sum赋一个初始值sum=0;
3.sum=sum+i;
4.i=i+1;
5.如果i<11,则返回步骤3;
6.输出sum的值;
7.结束。
i=1,sum=0
sum=sum+i
i=i+1
i<11?
输出sum的值
Y
N
编写程序
i=1,sum=0
sum=sum+i
i=i+1
i<11?
输出sum的值
Y
N
i=1
sum=0
i<11
sum=sum+i
i=i+1
print(sum)
调试运行
运行结果:
实践活动一
尝试编写程序完成计算1到80的和
探究活动二
根据以上学习,思考“引入”中提到的问题:
项目小组为了筹集购买奖品和纪念品的费用,准备开展一次募捐活动,计划向第一个赞助人募捐20元,向第二个赞助人募捐25元……后一个比前一个多募捐5元,依次下去,第几个人募捐后募集到的总费用累计超过500元?
分析问题
设所拉赞助人的数量为num(num=1,2,3,…),每次募集的费用为money,每次募集之后总费用为sum,则sum可以用如下的式子表示:
sum=20+25+30+…
于是这个问题就可以转化为:当sum≥500时,求num的值。
设计算法
根据上述的分析,设计算法如下:
1.令num=1;
2.令money=20;
3.令sum=20;
4.num=num+1;
5.money=money+5;
6.sum=sum+money;
7.如果sum<500,则返回步骤4;
8.输出num的值;
9.结束。
编写程序
调试运行
将程序输入计算机进行调试运行,得出如下结果:
实践活动二
编程实现计算100及以内所有偶数的和
提示:1.定义一个变量i=2,用于判断当前的数是否在100及以内
2.定义一个变量sum=0,用于计算偶数的和
第一次:i=2 sum=0+2=2
第二次:i=4 sum=2+4=6
第三次:i=6 sum=6+6=12
……
第n次:i=100
实践活动二
编程实现计算100及以内所有偶数的和
代码示例:
巩固练习
1.这段代码缺少了while循环一般格式中的哪个重要部分?( )
A.循环变量初始化 B.循环条件
C.循环体 D.循环变量更新
i=1
while i<5:
print(i)
D
巩固练习
2.以下代码的输出结果是?( )
A.0 1 2 3 4 5 B.0 1 2 3 4
C.1 2 3 4 5 D.5
i=0
while i<5:
print(i)
i+=1
B
巩固练习
3.以下代码执行后,count的值是?( )
A.5 B.10 C.4 D.9
count=0
num=10
while num>0:
if num%2==0
count+=1
num-=1
A
课后总结
while循环的应用
while (表达式):
语句或语句组
语句格式
注意事项
缩进
循环变量更新
谢谢
$$