2. 教学设计
第8讲 字符也疯狂
1.教学内容分析
本节内容首先情境带入,引出字符的相关知识内容;随后,以Python编程软件为辅助,讲解转义字符、中文字符串及字符格式化输出等知识;之后,开展实践任务,以电子名片设计为例,熟悉字符的使用及编程方法;然后,思维拓展,讲解高级语言的编译与解释等知识,最后,能力提升,通过Python编程绘制迪卡尔心形曲线。
2.学习者分析
1.学生具有一定的Python编程语言基础;
2.学生对展示个人名片程序有一定的了解;
3.学生具备一定的逻辑推理能力,知识迁移能力,对人工智能的技术有较强的学习兴趣。
3.学习目标确定
1.知识与技能:
①了解利用转义字符进行字符串输出的方法,掌握几种常用转义字符的用法;
②了解字符串 format 格式输出方法,能够进行编程应用;
③学生能够了解高级语言的编译与解释等基本知识。
2.过程与方法:
①通过学习字符相关内容,体会Python编程的应用;
②通过项目的编程练习,培养学生设计能力和举一反三的能力。
3.情感态度与价值观:
①养成自主学习、自主探究的能力;
②培养发现问题、解决问题的探究能力;
③通过对项目的讨论、分析、制作等活动,培养严密的逻辑思维能力。
4.教学重点难点
教学重点:1.掌握常用转义字符的用法;
2.能够利用字符串 format 格式输出方法进行编程应用;
教学难点:1. 综合利用 print 方法进行字符串格式化输出;
2.灵活运用软件完成项目的制作。
5.教学流程图


6.教学活动
环节一:(情境导入)5min |
教学活动1 1.教师讲授情境故事,设置悬念,吸引学生兴趣;(教师播放PPT) 教师:“微信社交圈里,现在流行以传递电子名片的方式进行人际交往。电子名片中的姓名、单位、通信方式、特长等个人信息都是存在系统里,传递时自动生成。小楷受到电子名片的启发,想通过Python编程设计一个简单的个人名片展示程序,能显示学校、班级、姓名、特长等个人信息。那么,小楷还要做好哪些准备呢?同学们,你们帮小楷想一想还需要些什么呢?” 学生聆听情境故事,积极回应老师,思考如何完成个人名片展示; 教师:“好的,同学们,我们一起去想一想,完成名片展示还需要准备些什么?今天我们的学习将分成三个模块,第一个模块,认识字符;第二个模块,一起完成电子名片设计的实践任务;第三个模块,思维拓展,学习开源软件及高级编译与解释等知识。” 学生聆听教师讲授。 |
活动意图说明: 通过情境故事吸引学生的注意力,激发学生的学习兴趣,导入本节课的内容----字符也疯狂 |
环节二:(原理讲解)20min |
教学活动2 1.教师讲解转义字符的知识内容,并进行相关演示; 教师:“当需要在字符串中使用特殊字符时,如换行、回车符等, Python允许在字符串中使用转义字符进行转义。 Python中,转义字符以反斜杠字符“\”开头,后面跟着一定格式的字符来表示特定的含义,即反斜杠“\”是一个起转义作用的特殊字符。 Python的转义字符集如表8-1所示反斜杠字符“\”是一个特殊字符,在字符串中表示转义,即该字符与后面相邻的一个字符共同组成了新的含义。例如,\n表示换行、\\表示反斜杠、\’表示单引号、\”表示双引号、\t表示制表符( Tab)等,程序及结果如图;” 学生聆听教师讲解转义字符的知识内容,教师演示PPT,并进行相关演示; 2.教师讲解字符串的format格式化输出的知识内容,并进行相关演示; 教师:“在Python3.0以上版本中,新增了一种格式化字符串的函str.format(),它增强了字符串格式化的功能(1)format()的基本语法format()的基本语法是通过{}和:来代替以前的占位符%。format()可以接受不限个数的参数,位置可以不按顺序。例如:format()也可以设置参数,例如:(2)format()中特殊格式字符的使用,类似于占位符表达式,format()中也允许使用一些特殊字符来表示特定的字符串输出格式。常见的特殊格式定义有: 1.f/F 科学计数法格式 2.e/E 固定长度的浮点格式3.% 使用固定长度浮点数显示百分数4.d十进制格式例如,可以使用format()来格式化输出一个浮点数,语句如下:(3)格式化字符串常量( f-string),Python3.6开始,支持一种更简便的格式化字符串的方法,称为“Formatted StringLiterals”,主要目的是使格式化字符串的操作更加简便。 f-string在形式上是以 f 或 F修饰符引领的字符串( f'xxx' 或F'xxx'),以大括号 {} 标明被替换的字段,这种做法与format()函数的功能类似,但形式极为简洁,省去了format()的书写。可以看下面的示例:可以看出, f-string语句在功能上不逊于传统的%-formatting语句和str.format()函数,性能也优于后面两者,特别是使用起来更加简洁明了,是值得推广的方法。” 学生聆听教师讲解字符串的format格式化输出的知识内容,教师播放PPT,进行相关操作演示; 3. 教师讲解中文字符串知识内容,并进行操作演示; 教师:“Python默认的编码格式是ASCII 格式,在没修改编码格式时无法正确打印汉字,程序运行时遇到中文信息时可能就会报错。解决方法是在程序文件的开头加入 # -*- coding:UTF-8 -*- 或 # coding=UTF-8 就行了。例如:需要注意的是, # coding=UTF-8 的 = 号两边不要空格。Python3.X以上版本中,已经支持UTF-8编码,可以正常解析中文,无须指定 UTF-8 编码。” 学生聆听教师讲解中文字符串知识内容,教师播放PPT,进行相关操作演示; 4.教师讲解print() 的进一步应用知识内容,并进行相关演示; 教师:“在IDLE的交互式环境下,通过 help(print)方法可以查询出print()的完整用法,如图:从返回的信息中可以知道各个参数的含义: 1.value -- 表示待输出的变量值。输出多个值时,需要用逗号“,”分隔。 2.sep -- 用来间隔多个变量值,默认值是一个空格。3.end -- 用来设定结尾的方式。默认值是换行符 \n,也可以换成其他格式字符。 4.file -- 要写入的文件对象。5.flush -- 输出是否被缓存通常决定于file参数,但如果flush 关键字参数为True,信息流会被强制刷新。接下来做几个编程练习:练习1:使用print()的flush参数生成一个模拟进度条进展的Loading效果。在IDLE编辑器中录入以下例程,观察执行结果。程序执行后,在IDLE交互式环境中可以观察到如下效果:练习2:字符串类型处理,并打印输出,程序及结果如图;练习3:打印出字母P,程序及结果如图;练习4:拼接字符串,倍数输出,程序及结果如图。” |
活动意图说明 配合PPT和Python编程语言进行讲解,让学生从亲身经验中体会转义字符、字符格式化输出及字符编程使用等知识。 |
环节三:(项目制作)25min |
教学活动3 教师带领学生借助软件完成电子名片设计的编程设计; 教师:“任务描述:小楷准备设计一个程序给小美生成一张电子名片,帮助小美做一个自我介绍,包括姓名、性别、爱好和特长,她喜欢花,擅长吉他,设计一个程序,帮她做这个自我介绍;任务分析:小美的电子名片中,文本信息可以直接使用print()函数输出;参考代码及结果如图。” 教师操作Python编程语言,并讲解根据具体操作步骤完成电子名片的编程设计,并进行操作演示; 学生聆听教师讲解利用Python完成电子名片设计的编程设计的过程和方法; 教师讲解完成后,教师可留给学生5min时间让学生自己操作学习; |
活动意图说明 屏幕共享,教师演示操作,培养学生动手操作能力,让学生直观学习编程设计过程,掌握逻辑结构。 |
环节四:(思维拓展)10min |
教学活动4 1.教师讲解开源软件的相关内容; 教师:“开源软件( Open Source Software)是指开放源代码软件。可以说,开源软件是一种软件发布模式,在特定的许可协议下,这类软件的源代码可以被任何人学习、修改和发布。一般的软件用户只能得到经过编译的二进制可执行文档,只有软件的作者才拥有软件程序的源代码。而开放源代码软件却是在开放源代码许可授权条件下发布的软件,允许软件用户自由使用及接触源代码,也允许用户自行修改、复制以及再分发软件。开源软件与免费软件不同。免费软件只是免费提供给用户使用,并不公开软件设计的源代码及技术文档。开源软件在发布的时候,是公开软件源代码的,以某种授权的方式允许用户更改和再发布。软件开源可以吸引更多人的参与,共同完善软件设计,推动软件的应用和发展。1998年,“开放源代码促进会”(Open Source Initiative Association)成立,开源软件运动形成热潮,大批程序员及爱好者参与其中,推动了Linux、 Android以及Python等著名开源软件系统走向实用。” 学生认真聆听教师讲解开源软件的相关内容; 2.教师讲解高级语言的编译及解释相关内容; 教师:“(1)编译:编译是将源代码转换成目标代码的过程。在计算机中运行的目标代码是机器语言代码,编程语言开发及运行环境里自带有编译器,负责将编写好的高级语言源代码转换成目标代码。然后,计算机才能执行这个目标代码。高级语言程序的编译和执行过程如图8-2所示;(2)解释:解释就是将高级语言源代码逐行转换成目标代码并且同时逐行执行目标代码的过程。解释型编程语言开发及运行环境里自带有解释器,负责将编写好的高级语言源代码转换成目标代码。解释器在执行目标代码的同时,可以接收数据输入,并可以将执行的结果输出到计算机终端。高级语言程序的解释和执行过程如图8-3所示。” 学生认真聆听教师讲解高级语言的编译与解释相关内容; |
活动意图说明 增强学生对高级语言的编译与解释的认识,更好利用Python语言进行编程设计。 |
环节五:(展示小结)5min |
教学活动5 1.学生发言,展示作品,进行逻辑代码讲解; 2.教师对学生作品进行评价; 教师:“同学们,在看了大家的作品后,老师觉得大家都完成的非常好,老师给同学们一个大大的赞。” 总结本节课的知识内容,巩固本节课的知识点,铺垫下一节课。 |
环节六:(能力提升)5min |
教学活动6 1. 教师讲解迪卡尔心形曲线; 教师;“1650年,在斯德哥尔摩的街头,笛卡尔邂逅了瑞典公主克里斯汀。最终,笛卡尔给克里斯汀留下一条爱心曲线后,便永远地离开了这个世界。笛卡尔的爱情故事感动了世人,爱心曲线的公式被很多人牢牢记住了:(x2+y2–1)3–x2y3=0。如今,爱心曲线的绘制成为了程序员练手的科目,如图所示。” 学生聆听教师讲解绘制迪卡尔心形曲线; 2.根据所学知识,利用Python编程讲解绘制迪卡尔心形曲线; 教师:“请根据爱心曲线公式,尽量利用print()的格式输出方法,实现爱心曲线图案的绘制。可以考虑用班主任的名字作为输出字符串,构造爱心图案,作为教师节给老师的礼物。” |
活动意图说明 通过项目式学习的体验效果,让学生可以更直接的体验Python编程的应用,提高学生的参与感。 |
7.板书设计
字符也疯狂
1.字符:
转义字符:
格式化输出:
中文字符串:
2.电子名片设计:
8.课后练习与拓展学习设计
请编写Python程序计算韩信至少有多少兵