for循环的应用实例
课题
for循环的应用实例
单元
Python
程序
基本结构
学科
信息
年级
八年级
主备人
时间
教学目标
1、理解for循环语句的格式和执行流程;
2、理解程序中的累加器作用,能够编写比较复杂的循环结构程序;
3、利用Python语言解决具体的数学问题,培养分析问题与解决问题的能力。
重点
for循环结构程序的编写。
难点
“累加”和“累乘”的分析归纳。
教 学 过 程
二次备课
一、复习for循环结构
概念:for循环语句是通过遍历某一序列对象来构建循环,循环结束的条件就是对象遍历完成。
一般格式:for <变量> in <序列>: 执行流程图:
24784059715500 <循环体>
[else:
语句块]
<变量>每经过一次循环,就会得到序列中的一个元素,并通过循环体处理它。
<序列>通常是字符串、列表、range对象实例等。
如果有else语句,程序将会在循环正常执行完成后执行。如果循环中遇到强制退出,那么else语句将不执行。
6159512065001003935-4445
for循环range()函数遍历
格式:range([start,]stop[,step]))
功能:创建一个整数列表。
参数:起始值(缺省为0),终值(但不包括),步长(缺省为1)
50802540
10858559055
二、“棋盘与麦粒”应用实例
1、问题分析
视频讲解“棋盘与麦粒”的故事
50801714500
246189583185s=s+p
s=s+p
136715581280p=p*2
p=p*2
相邻格子麦粒数的规律:后一格的麦粒数是前一格的2倍。
累加器:在算法执行过程中,用来生成并存储数据累加和的变量。
(1)累加器的初值通常设置为0。
(2)循环体中的累加语句格式通常为s=s+x。
目的:第n格棋盘共放置多少麦粒
310451546355219900579375麦粒累加和(s)
麦粒累加和(s)
135255043180635060325当前格子存放的麦粒数(p)
当前格子存放的麦粒数(p)
161861513081022860128905计数器(i)用来计算循环次数n
计数器(i)用来计算循环次数n
计数器:在算法执行过程中,用来记录某种事件发生次数的变量。
(1)计数器的初值通常设置为0,可以根据需要灵活设置。
(2)循环体中的计数语句格式通常为i=i+1。
2、算法设计
1687195123190001644657429500
改进:
range()函数能创建一个整数列表,可以尝试用for循环和range()函数来实现自动计数。
循环是从第1格到第n格,因为包含第n格本身,所以range()的终值参数是n+1。
362585109220
130810193040003、编写代码
4、调试运行
按F5键,输入棋盘格子数,观察运行结果。
635021590
29210102870
5、修改完善
(1)为了更好呈现麦粒重量,可以将麦粒数转化为吨数(按每粒麦子约0.03克计算)。试着在结尾处添加合适的语句并输出相应结果。
1905022860
26485853619500
(2)想要具体地看到循环过程中每个格子的
麦粒数p,又该如何添加语句。
10795184150方法一:
方法二:
3365522860
三、完成上机作业
四、随堂练习
寻找水仙花数。水仙花数是指一个三位数,它每个数位上的数的3次幂之和等于它本身。例如:153是水仙花数,因为13+53+33=153。请仔细思考,在如下程序的划线处填空,并上机测试。
5842055880
265430180340227393548895
五、拓展练习
1、九九乘法表
228606350
提示:使用双层for循环
for i in range(1,10): #使用双层for循环
for j in range(1,i+1):
print("{}*{}={}".format(i,j,i*j),end=" ")
print()
2、杨辉三角
杨辉三角最早在中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。
2298065406400076202540
#输出你想打印的杨辉三角形的行数
h=int(input('请输入打印杨辉三角形的行数(行数>2):'))
#打印第一行和第二行
print([1])
list=[1,1]
print(list)
#打印从第三行开始的其它行
for i in range(2,h): #外部循环除1、2行外还需打印的行数
r=[]
for j in range(0,len(list)-1): #内循环,除前后的1以外别的元素
r.append(list[j]+list[j+1])
#把两端的1加入
list=[1]+r+[1]
print(list)
六、总结
总结本节课的要点
七、布置作业
作业本第9课
课堂反思