内容正文:
数据与计算 学教案
4.4运用循环结构描述问题求解过程
【学习目标】:
1.掌握循环结构的基本流程。
2.掌握Python语言中的for循环、while循环、循环嵌套的一般格式及使用方法。
3.能利用循环结构程序思想解决实际问题。
4.提高学生用计算机解决问题的能力,培养编程思维。
【重点和难点】:
重点:
掌握Python语言中的for循环、while循环、循环嵌套的一般格式及使用方法。
难点:
能利用循环结构程序思想解决实际问题、循环的嵌套。
【学法提示】:
讲授法、任务驱动法、演示法、体验探究法等
【课时安排】:1课时
【课前知识准备】:
(一)列表
概念:列表可以包含多个数据元素,它是一个数据元素集合。用“[]”将数据集中存放,便于记录和处理。使用中括号指出从哪里开始,到哪里结束,另外用逗号分隔列表中的各项。列表中可以包含python中能存储的任何类型的数据,列表索引号从0开始。例如:
a=[“石榴” , 1 , ”香蕉” , ”橙子” , ”梨子”]
a[0] a[1] a[2] a[3] a[4]
(二)range( )函数
range()函数创建一个有序的整数列表。
range()函数格式:range([start,]stop[,step])。
range()函数说明:计数从start开始(默认是0),到stop结束,但不包括stop,step步长默认为1。例如:
range(5)相当于range(0,5,1) 表示[0,1,2,3,4]
range(1,4) 表示[1,2,3]
range(0,20,5) 表示[0,5,10,15]
range(10,0,-2) 表示[10,8,6,4,2]
【内容精讲】:
一、for循环的应用
1.(1)for 循环语句的一般格式:
for 循环变量 in 列表:
语句或语句组
注意:冒号“:”代表下一行是循环的第一行,循环体在书写时需要缩进。
(2)列表的几种表达方式:
①直接罗列
如:
for value in[1,2,3,4]:
②先定义后使用
如:
values= [1,2,3,4,5]
for value in values:
print(value)
print('good')
③使用range( )函数
如:
for value in range(1,6):
print(value)
print(‘good'))
range( )函数的使用:
功能:能够返回一个等差整数序列
格式为: range(起始值,终值,步长)
注意:生成的整数序列不包括终值,并且起始值和步长可以
缺省,缺省时分别为 0和1
Range(1,5,2)
生成的整数序列为: 1,3
Range(1,5)
生成的整数序列为: 1,2,3,4
Range(5)
生成的整数序列为:0, 1,2,3,4
Range(5,1,-1)
生成的整数序列为:5,4,3,2
2.体验探究:运用for循环语句求解100以内的奇数和?
s = 0
for i in range(1,100,2):
s = s + i
print(s)
2、 while循环的应用
1. while循环语句的一般格式下:
while(表达式):
语句或语句组
2.注意:
(1)表达式一般是一个关系表达式或一个逻辑表达式,值为True或False
(2)当表达式的值为真时,执行循环体;当表达式的值为假时,退出循环,执行循环体外的下一条语句(即while后面没有缩进的第一条语句)。
(3)每次循环都是执行完循环体语句后回到表达式处重新开始判断,重新计算表达式的值。一旦表达式的值为假就退出循环,为真时就继续执行循环体语句。
(4)循环体中必须有改变条件表达式值的语句,否则将成为死循环。
3.体验探究:
在我校举办的“爱心相传”募捐活动中,第一位同学捐款20元,第二位同学捐款25元……后一位比前一位多捐款5元,依次下去,请问第几个人捐款后募集到的总金额累计超过500元?
分析问题:
设参与捐款的人的数量为num(num=1,2,3,…),每个人捐赠的钱数为money,捐款的总费用为sum,则sum可以用如下的式子表示:sum=20+25+30+…于是这个问题就可以转化为:当sum≥500时,求num的值。
设计算法:
根据上述的分析,设计算法如下:
①令num=1;
②令money=20;
③令sum=20;
④num=num+1;
⑤money=money+5;
⑥sum=sum+money;
⑦如果sum<500,则返回步骤④;