《Python程序设计 08 for循环.docx》由会员分享,可在线阅读,更多相关《Python程序设计 08 for循环.docx(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、人工智能与大数据学院人工on程序设计 教案(08)教学标题项目3流程控制任务3 for循环授课班级云计算2101课时2场地4403时间2022年3月17日星期四授课教师李力教学设计L项目/任务价值Python中的for循环和C语言中的for循环是完全不同的逻辑,Python的for循环是建立在遍历对象的基础上,可以很方便 地访问容器类型的元素,同时它也支持仅作为预定次数的普通循环来使用。2 .学习目标知识目标1. 了解for循环的作用能力目标1 .掌握for循环的用法和语法细节2 .掌握range函数的用法思政-素质目标1 .线上线下结合,引导学习方式,培养自主学习能力;2 .培养学生积极探索
2、、勇于创新的科学素养;3 .养成小组沟通协作共同学习,解决问题能力和团队合作精神;4 .能按照实训6s管理要求做好课前的准备,课后的整理工作,培养勤俭、奋斗、创新、奉献的劳动精神;3 .学习内容1 .任务描述2 .知识准备:for循环的应用3 .任务实施:for循环基本语法、range函数的使用、初识itertools模块4 .学习资源重庆在线开放课程平台Python开发技术应用,多媒体课件,理实一体化实训室,网络教学资源,www. pythontutor, com可 视化工具、www. processor!, com在线流程图绘制工具实物:教材,软件工具包教学重点for循环基本语法教学难点基
3、于for循环实现死循环学情分析Python中的for循环和C语言中的for循环是基于完全不同的设计逻辑,形式上和Java中的增强for循环更相似,但学生现 在尚未学习Java,所以要思考如何能准确表达Python中for循环的作用,让学生更容易理解。教学策略教学方法:训练与练习法;情境教学法教学模式:采用线上线下混合教学模式介绍Python中for循环的用法、range函数、itertools模块本次课教学流程:讲解for循环的用法讲解range函数的用法介绍 itertools 模块中的 cycle repeat、count 函数讲解案例习题教学实施过 程教学环节学生、教师活动教学方法、手段
4、 及思政设计间配 时分课程导学:按照顺序依次对容器对象中的每一个元素进行访问,称为遍历,是程序设计中最常 见的应用场景之一。Python中的for循环天生就是设计来对可迭代对象进行遍历的, 使用方便,功能强大,掌握好for循环的使用对复杂问题的求解事半功倍。讲解for循环的语法规则和使 用细节,讲解range函数的作 用,讲解itertools中3个工具 对象的使用,让学生认识Python 风格的for循环的独特之处,激 发学习兴趣,增强编程练习中的 自信心。多媒体演示信息调研讲授、讨论、案例教学 课前发布导学单,线上线下 结合,引导学习方式转变, 培养自主学习能力。小组协作、沟通、互助学习,
5、 培育团队合作意识,引导学 生大胆表达。3引入项目学习任务和目标任务1 for循环的应用讲解for循环的语法规则、range函数、itertools模块的应用 工作内容:1 .掌握for循环的语法规则和细节2 .掌握range函数的用法3 .掌握for循环中的死循环4 .完成案例习题讲解for循环、range函数、 itertools等内容,通过99表、 斐波那契数列等案例练习,熟悉 for循环的使用。多媒体演示启发式教学小组作品展示和讲解2任务实施任务1 for循环的应用主体内容:思考并答题:for循环能实现死循环吗? range生成的数列是闭区间还是多媒体演示 启发式教学45开区间?课内案
6、例习题:学生聆听老师讲解,观看老师编 码实现,师生共同总结流程要 点,梳理脉络,形成自然语言或 伪代码描述的文档,学生根据此 文档重新编码,实现程序。思政设计:为题海战术正名, 勤能补拙,大力出奇迹,多 练才能学好编程,而勤奋也 是中华民族传统美德。步骤1掌握for循环的语法规则和细节for循环的入口语句如下:for item in iterable_object:iterable.object是一个可迭代对象,所有的迭代器都是可迭代对象,容器类型 的对象也都鬼可迭代对象,如列表、字符串、字节序列、字典、集合等。容器对象中有多少个元素,循环就执行多少次,并每次按顺序访问容器中的一个 元素,将它
7、赋值给临时变量ilem, item的变量名随便起,常用的是i、j、k- 因此,for循环的过程就是对可迭代对象iterable_object进行遍历的过程。 仅把for循环当作while循环中固定次数的循环模小的替代,也是普遍常用的。 想要n次循环,就遍历一个长度为n的序列即可。习题:向名单上的每个人问好把名单放进列表里,对列表进行for循环访问,实现遍历步骤2掌握range函数的用法range函数用于生成一个整数的等差数列range (n):生成从0到n-1的序列range (m, n):生成从m到n-1的序列range (m, n, x):生成从m到nT,间隔x的序列range对象不是列表
8、,但可以用索引访问,可以对其进行for循环 要作为固定次数的while循环的替代方案,可以使用for i in range(n)形式 习题1:打印99乘法表99乘法表是一个下三角阵列1x2,2 2x284 lx53 2x6 3x39 lx4M 2x48 3x4*12 4x416! lx5S 2xS10 3x5.15 4x5.20 $x$.2S 106 2x612 ”818 4x624 Sx6=3O 6x6=36 1x7“ 2x714 3x721 4x728 Sx73S 6x7M2 7x7M9 1*8=8 2xS=16 3x8=24 4x8=32 5x8=40 6x8=48 7&S6 的83 1
9、x9=9 2x9=18 3x9=27 4x9=36 Sx9=4S 69=54 7x9=63 a9=72 9x9=81需要两层嵌套的循环,外层循环的初始循环变量递增,作为被乘数 内层循环的初始循环变量递增,作为乘数 在内层循环中输出对应的乘法算式 乘法算式要排成下三角阵列参考c语言中的考试真题:使用星号*输出上三角阵列最终输出结果要对齐,需要使用格式化表达式控制每个算式的宽度和对齐方式习题2:求N项斐波那契数列斐波那契数列乂称黄金分割数列、兔子数列指的是这样一个数列:1、1、2、3、5、8、13、21、34这个数列从第3项开始,每一项都等于前两项之和。思路:设置初始变量a为1, b为1在循环中每
10、次将b的值赋给a,然后把原先的a、b之和赋值给b重复此步骤,并设置一个变量作为计数器,直到达成N个数字的数列步骤3掌握for循环中的死循环由于for循环的基础是可迭代对象,所以正常情况下for循环无法做到死循环。itertools模块中提供了一些特殊的迭代器,其中有三个是无限迭代器,通过它 们可以实现无限的for循环。 count (start, step):计数型迭代器,start是计数的初始值,step是每次 的增量,在for循环中访问该迭代器会从start开始,每次增长step。 cycle(p):循环型迭代器,p是一个可迭代对象。在for循环中访问该迭代 器会遍历P,遍历结束后从头开始
11、,无限循环。 repeat (elem, n):重复型迭代器,elem是要重复的对象,n是重复次数, 如果不指定n则永久循环。import itertoolsfor i in itertools, cycle(ABC):print (i)#这段代码会不停地、循环地输出A、B、C拓展:可迭代对象和迭代器的区别深化:启发性探讨:小组讨论多媒体演示 讨论教学 你认为Python和C语言中的for循环哪个更好用,更顺手? 有没有什么情况是for循环直接遍历不方便,而要使用数字来作为下标对目标进行遍历的?总结:1. for循环的本质是对一个可迭代对象进行遍历2. for循环和range函数搭配使用,常用于固定次数的循环3. for循环句可以通过itertools模块来实现死循环小组总结 引导同学总结抢答 互动教学5任务:1 .尝试for循环对列表、字符串等不同类型的对象进行迭代2 .尝试使用range进行两层嵌套循环3 .尝试把之前用while循环写的案例改写为for循环实现多媒体20学业评价小组评价和个人综合评价(课堂讨论的参与、是否认真笔记)2教学反思补充教学反思主要问题解决办法本次课的做得好的地方
限制150内