Python教案----教学设计 (1).doc
《Python教案----教学设计 (1).doc》由会员分享,可在线阅读,更多相关《Python教案----教学设计 (1).doc(97页珍藏版)》请在冰豆网上搜索。
Python教案----教学设计
时间:
课题
程序设计基础--绪论
教
学
目
标
1.了解程序设计语言的发展历史
2.理解Python语言的特点及其重要性
3.掌握Python语言Hello程序的编写方法
4.掌握Python语言开发的运行环境的配置
教学重点
Python语言的特点及其重要性
Python语言开发的运行环境的配置
教学难点
Python语言开发的运行环境的配置
主要教法
讲授演示法+上机操作
教 学 过 程
一、新课导入
1.计算机的定义:
能够根据指令操作数据的设备
•计算机的两个特性
–功能性
–可编程性
•计算机的可编程性需要通过程序设计来体现
2.程序设计语言:
计算机能够理解和识别操作的一种交互体系
l程序设计语言的种类
l机器语言
l汇编语言
l高级语言
l常用的程序设计语言
•高级语言的执行方法
–静态语言:
编译执行
–脚本语言:
解释执行
•编译和解释的区别
–编译:
一次性的翻译,需对目标代码优化
–解释:
每次运行都需要
•编译:
源代码(高级语言)转换成目标代码(机器语言)
l解释:
源代码逐条转化成目标代码同时逐条运行目标代码的过程
•编译的好处
–目标代码执行速度更快
–目标代码在相同操作系统上使用灵活
–解释的好处
–便于维护源代码
–良好的可移植性
•Python语言:
将解释器和编译器结合的脚本语言
•计算机已成为普通工具
•学会编程:
满足感和安全感
•C/C++等语言:
复杂
•Python语言:
充满快乐和创造性的全新旅程
•
3.Python语言概述
•Python语言的历史
–诞生于1989年,已有25年,达到成熟期
–2000年,Python2.0,2,.7.6
–2008年,Python3.0,3.4.x
•Python语言的特点
–强制缩进保证可读性
–不需要主函数
–可以同时被解释和编译执行
–语言简洁
–编程模式灵活(面向过程和面向对象)
4.Python语言的开发环境配置
•安装Python运行环境
–到Python主页下载并安装Python基本开发和运行环境,网址:
–根据操作系统选择不同版本
–下载相应的Python2.7.6版本程序,跟随提示安装
•使用Python运行环境
–方法一:
启动Windows命令行工具,输入python,在>>>后输入Python语句,如图所示输入exit()或quit()退出
–方法二:
调用已安装的IDLE来启动Python运行环境,
–方法三:
按照语法格式编写代码,保存为文件,例如源文件hello.py。
打开Windows命令行,使用命令pythonhello.py来运行文件
•使用Python运行环境
–方法四:
打开IDLE,Ctrl+N打开一个新窗口,输入语句并保存,使用快键建F5即可运行该程序
–方法五:
将Python集成到Eclipse等面向较大规模项目开发的集成开发环境中
–其他操作系统上配置Python环境与上述在Windows上的配置方法类似
5.Hello程序
•你的第一个程序:
在屏幕上打印出“HelloWorld”
–print“HelloWorld”
–表示将引号中的信息输出到屏幕上
显示效果如下:
二、上机练习
首先进行Python的安装与开发环境配置,
接着完成第一个程序“HelloWorld”
三、本课小结
计算机的基本概念
程序设计语言分类
编译和解释
Python语言概述
Python的Hello程序编写及开发环境配置
课后
反思
时间:
课题
Python程序语言入门
教
学
目
标
•让学生了解什么是编程及对编程提起浓厚的学习兴趣;
·PythonShell、GUI和Prompt(提示符)的理解;
·学会与Python交互的方法,print指令;
·新建程序文本文档、运行程序的方法、保存时需要注意什么;
·学会怎样去查询程序的错误;
教学重点
·让学生对编程提起浓厚的兴趣;
·print指令的运用;
·识别和修正程序的错误。
教学难点
·识别和修正程序的错误;
主要教法
讲授演示法+上机操作
教 学 过 程
一、复习巩固
1、什么是编程?
2、Python-我们和计算机沟通的语言
所想要表达 编程软件翻 计算机接收
的意思 译成二进制 并执行
常用、最流行的几种程序语言:
C、C++、C#、Java、VB、python
3、Python可以用来做什么
·开发游戏&软件(游戏后台大多数用python编写);
·制作更高级的Flash(webflashgame);
·创建数据库;
·黑客hacker(远程攻击计算机、破解硬件or软件);
·发明变形金刚(2006年日本FANUC推出的人工智能机器人);
·学习其他语言的基础(所有程序语言都有共同性,学好python能够让你快人一步的理解其他程序语言);
·python几乎无所不能。
========当然不是每一个学习python的人都能成功========
========但是学习python你将获利以下几点========
√让你的思维更加敏捷!
√让你变的知识渊博!
√让你学习更多的英文!
============也有可能带来一些“负面影响”===========
×你的皮肤会变得粗糙>_<
×你可能会变成一枚宅男╯□╰
×花500元买一副眼镜⊙﹏⊙
二、上机操作从IDLE启动python
1、通过开始菜单;好比三种第一种:
2B青年
三种方法2、通过快捷方式;第二种:
普通青年
3、通过快捷键;网络青年第三种:
文艺青年
·窗口标题栏的文字“PythonShell”-中文意思是“python的外壳”,是作为用户输入文本与程序交互途径的一种。
·整个窗口被叫做“GUI”-中文意思是“图形用户界面”,GUI的特性是包含:
窗口、菜单、按钮、滚动条等。
没有这些特性的程序叫做text-mode(文本模式程序)、commandline(命令行程序)
*提问:
平时在使用电脑时有没有遇见过带有GUI的程序和text-mode、commandline?
(答案:
windows窗口DOS)
·>>>-叫做提示符(Prompt),指程序正在等待你键入信息时显示的符号。
三、来点指令吧!
>>>print“Heyman!
”回车(每输入完一行指令都要输入回车以跳转到下一行)
Print-打印(命令),指在屏幕上显示文本,而不是常说的用打印机打印在纸上。
!
!
注意>>颜色<<注意!
!
问:
IDEL里为什么会有这些奇妙的颜色呢?
答:
IDLE为了帮助我们更好的理解和阅读这些内容,会用不同的颜色来区分代码(code)不同的部分,print的颜色就是橙色。
!
!
注意>>错误<<注意!
!
问:
SyntaxError:
invalidsyntax是个什么东西?
答:
直译“语法错误:
无效的语法”,表示python不懂你输入的内容,因为print被错误的拼成了point。
四、与python交互
我们刚刚执行的第一条指令:
heyman,就是在和python交互,这种输入代码与计算机交流的过程就叫做交互。
多试一条指令!
>>>print5+3
8
>>>
计算机非常擅长算术运算,计算机被创造出来的初期就是被用来数据计算。
再试一条指令!
>>>print5*3
15
>>>
======Mr.LeeTIPS======
几乎所有计算机程序和语言中都使用*符号作为乘号。
这个符号称作“星号”或“星”。
======口算&计算器&python三者进行对比吧======
口 算:
Print5*3
计算器:
Print98765431-9876543
Python:
Print45487548755421*544451484484121512157
======口算&计算器&python三者进行对比吧======
利用python你除了可以超大数的数学计算之外,你还可以做些令人意想不到的事情,例如:
>>>print“Dog”+“brother”
Dogbrother
>>
或者
>>>print“whereisplane”*20
whereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplane
>>>
计算机除了非常擅长运算外,另一件事情就是反复的做事情,重要的是它不会感到枯燥,就像上面我让计算机喊了20句whereisplane,如果你高兴可以让它喊到直到MH370出现,前提是马航要给力还有就是不要停电……
五、编程任务
到目前为止,我们只是看到单个python指令的演示,其实程序就是多个指令的集合。
1、创建程序的方法:
a.通过PythonShell菜单栏→File→NewWindows创建;
b.快捷键:
Ctrl+N。
*新程序窗口标题栏显示“Untitled”(未命名)。
如何给程序取名字?
2、程序1 我们的第一个程序-“我爱吃香蕉”
print“我爱吃香蕉!
”
print“香蕉”*20
print“mua”*40
print“我吃撑了!
”
3、保存/另存(命名)你的程序文档
File→Save/SaveAs
输入完指令后通过Save快:
Ctrl+N保存or另存为
SaveAs快:
Ctrl+Shift+S
!
!
注意>>扩展名<<注意!
!
输入完程序名称后一定不要忘了加上.py,否则在python中将看不到
程序中命令的颜色和windows不知道该用什么程序来打开这个文件。
======Mr.LeeTIPS======
如果你想要你的程序支持中文,需要在程序的第一行加上代码:
#encodingXXX#
XXX用各国文字编码代码来替换,各国文字编码代码可以查询百度。
例如,简体中文的代码是:
GBK,那么程序的第一行应写上:
#encodingGBK#
======Mr.LeeTIPS======
六、如果出了问题
在编程过程中容易出现的问题归纳为两大类:
1、syntaxerror(语法错误):
指编程语言的拼写和文法规则出现错误,意味着你键入的某个内容不是正确的Python代码。
例如:
>>>
printwhereisplane”
syntaxerror:
invalidsyntax(语法错误:
无效的语法)
there'sanerrorisyourprogram(这是一个错误的程序)
>>>
错误原因:
where前面漏了一个引号
2、runtimeerror(运行时错误):
只会在程序运行时才会发生的错误,是IDLE或python无法检测出来的错误。
例如:
程序2 运行时错误-“我爱大鳄鱼”
>>>
print“你好!
欢迎来到我的动物园!
”
print“我的动物园有好多好多的动物,例如:
”
print“鳄鱼”+5
>>>
错误原因:
IDLE1.2.1 ========NoSubprocess=========
>>>
你好!
欢迎来到我的动物园!
我的动物园有好多好多的动物,例如:
Traceback(mostrecentcalllast):
(错误的开始)
File“C:
\Users\Administrator\Destop\ilovebigcayman.py”,line4,in(错误发生的位置/程序文件保存的路径)
Print“鳄鱼”+5(出错的代码行)
TypeError:
cannotconcatenate‘str’and‘int’objects(python认为可能存在的问题,并不一定是在这里,但是会在这附近)
=====================思 考=====================
为嘛print“鳄鱼”*5可以,print“鳄鱼”+5却不行?
=====================解 惑=====================
听我说,这有点像将苹果和鳄鱼放在一起,在python中不能将两个完全不同的东西放在一起,比如说数字(int)和文本(str)。
“鳄鱼”+5像是在说5个苹果和3只鳄鱼相加等于多少?
结果是8,但是8个什么?
完全没有意义。
不过几乎所有东西都可以乘以一个数来翻倍,如果你有1只鳄鱼,再乘以5,那么你就会有5只鳄鱼!
(克隆大乱斗!
)。
七、第二个程序任务
第一个程序“我爱吃香蕉!
”没多大实际意义,仅仅只是在屏幕上打印了一些内容,下面我们来是一个更加有意思的程序,记得给它取上一个名字,“NumGuess”是个不错的名字。
File→NewWindows→Save→“NumGuess.py”
输入以下代码:
======================================================
#encoding=GBK#
importrandom
secret=random.randint(1,100)
guess=0
tries=0
print"你好,同学……我和你们班主任之间有一个秘密!
?
"
print"这个秘密就在1-99之间的一个数字。
我会给你6次机会来猜这个数字,猜对你就可以获赠加多宝一罐!
"
whileguess!
=secretandtries<6:
guess=input("来猜个数字吧!
?
")
ifguessprint"太低了喔!
~"
elifguess>secret:
print"太高了喔!
~"
tries=tries+1
ifguess==secret:
print"哦也!
你猜中这个数字了!
!
那么加多宝的话,请出门左拐找你们蒋老师!
"
else:
print"我不会给你更多机会了,同学!
你现在得请我喝一瓶王老吉!
"
print"这个秘密数字就是————",secret
======================================================
程序解析:
while、if、else、elif和input指令我们在以后会详细的学到。
程序概念点:
•由程序随机选取秘密数。
•用户输入他猜的数。
•程序根据秘密数检查用户猜的结果:
太大还是太小?
•用户不断尝试,直到猜出这个数,或者用完所有机会。
•猜到的数与秘密数一致时,玩家获胜。
>>>教学过程结束。
课堂小结:
•学会了如何启动IDLE;
•了解了交互模式;
•交给Python一些指令来执行;
•看到了Python知道如何完成算术运算(包括非常大的数);
•启动IDLE文本编辑器键入你的第一个程序:
我爱吃香蕉;
•运行你的第一个Python程序;
•了解如何查看错误消息;
•运行你的第二个Python程序:
猜数游戏。
课堂练习之用脑想一想:
1.如何启动IDLE?
2.print的作用是什么?
3.Python中表示乘法和除法的符号是什么?
4.GUI的特性包括哪些?
5.如果想要你的程序支持中文,需要做什么?
课堂练习之动手做一做:
1.在交互模式中,使用Python计算一周有多少分钟。
2.编写一个简短的小程序,打印3行:
你的名字、出生日期,还有你最喜欢的颜色。
(结果应该是下面这样)
我的名字叫XX,我是XX运动队的。
我1988年08月20日出生。
我最喜欢的颜色是粉红色。
课后
反思
时间:
课题
判断循环
教
学
目
标
掌握if语句:
单分支、双分支、多分支、嵌套
完成条件语句实例:
登录认证模块
学会判断输入是否合法
了解三元表达式
掌握range()
掌握循环语句
掌握for语句
掌握while
掌握break、continue、pass
完成循环语句实例:
登录认证模块扩展
教学重点
掌握if语句:
单分支、双分支、多分支、嵌套
了解三元表达式
掌握range()
掌握循环语句
掌握for语句
掌握while
掌握break、continue、pass
教学难点
完成条件语句实例:
登录认证模块
完成循环语句实例:
登录认证模块扩展
主要教法
讲授演示法+上机操作
教 学 过 程
一、新课讲授
1.掌握if语句
a)单分支
if表达式:
代码块1
else:
代码块
b)双分支
if表达式1:
代码块1
elif表达式2:
代码块2
c)多分支
if表达式1:
代码块1
elif表达式2:
代码块2
…
else:
代码块_其他
d)嵌套
2.了解三元表达式
Expression1ifboolean_expressionelseExpression2
如果满足条件A大于B,则max值为A,反之max为B
如:
max=AifA>BelseB
例如:
3.掌握range()
range():
产生整数序列
例:
range(n):
产生从0开始,到n的数字序列,不包括n。
range(m,n):
产生从m开始,到n的数字序列,不包括n。
range(m,n,k):
产生从m开始,到n,增量为k的数字序列,不包括n。
4.掌握循环语句
a)掌握for语句
语法格式:
forexpression1initerable:
for_suite
else:
else_suite
例如:
结果:
b)掌握while
c)掌握break、continue、pass
1.1语法结构:
whileboolean_expression:
while_suite
else:
else_suite
1.2解释:
如果boolean_expression的结果为True,循环就会执行;boolean_expression的结果为False时终止循环,此时如果有else分支,则会执行。
以上结构中,else分支为可选部分。
else代码块:
循环不满足循环条件终止,才会执行,如果循环终止是由break跳出,则else分支不会执行。
1.3例如:
break:
跳出所处的最近层循环
continue:
跳到所处的最近层循环的开始处
pass:
占位语句
例如:
执行结果:
二、上机练习
1.条件语句实例:
登录认证模块
a)判断输入是否合法
b)非法用户提示警告信息
c)合法用户提示登录成功
username=raw_input("username:
")
ifusername=='':
print"用户名不能为空"
else:
print"\033[1;33;45m登录成功,欢迎%s\033[0m"%username
chr()
ord()
2.循环语句实例:
登录认证模块扩展
a)直接回车无效,继续输入
b)验证用户身份是否合法
三、课堂小结
if语句:
单分支、双分支、多分支、嵌套、三元表达式、range()、循环语句、for语句、while
、break、continue、pass
登录认证模块展示
课后
反思
时间:
课题
python序列-字符串
教
学
目
标
了解序列类型常用操作
了解索引和切片
掌握类型转化
掌握强制类型转化
学会字符串转换实例:
格式化输出菜单列表,将用户的输入数值转化整型并验证
掌握字符串常用方法
s.find()s.join()s.replace()s.split()s.strip()s.index()s.startswith/s.endswith(t)
s.isalnum()/s.isalpha()/s.isdigit()/isupper()/islower()
s.upper()/ s.lower()/s.s
s.count()
教学重点
了解序列类型常用操作
了解索引和切片
掌握类型转化
掌握强制类型转化
教学难点
学会字符串转换实例
主要教法
讲授演示法+上机操作
教 学 过 程
一、新课讲授
1.序列类型常用操作
a)索引和切片
1.1.1索引:
例:
s[0]从左向右:
索引从0开始;从右向左:
索引从-1开始
1.1.2切片:
例:
s[0:
2]
1.1.3扩展切片:
指定步长,例:
s[0:
9:
2]
b)