《Python教案-教学设计.docx》由会员分享,可在线阅读,更多相关《Python教案-教学设计.docx(103页珍藏版)》请在课桌文档上搜索。
1、时间:课题程序设计基础一绪论教学目标1 .了解程序设计语言的发展历史2 .理解PythOn语言的特点及其重要性3 .掌握Python语言HelIo程序的编写方法4 .掌握Python语言开发的运行环境的配置教学重点PythOn语言的特点及其重要性Python语言开发的运行环境的配置教学难点Python语言开发的运行环境的配置主要教法讲授演示法+上机操作教学过程一、新课导入1 .计算机的定义:能够根据指令操作数据的设备计算机的两个特性-功能性-可编程性计算机的可编程性需要通过程序设计来体现2.程序设计语言:计算机能够理解和识别操作的一种交互体系程序设计语言的种类机器语言汇编语言高级语言常用的程序
2、设计语言高级语言的执行方法-静态语言:编译执行一脚本语言:解释执行编译和解释的区别-编译:一次性的翻译,需对目标代码优化-解释:每次运行都需要编译:源代码(高级语言)转换成目标代码(机器语言)解释:源代码逐条转化成目标代码同时逐条运行目标代码的过程编译的好处-目标代码执行速度更快-目标代码在相同操作系统上使用灵活-解释的好处-便于维护源代码-良好的可移植性Python语言:将解释器和编译器结合的脚本语言 计算机已成为普通工具 学会编程:满足感和安全感 C/C+等语言:复杂 Python语言:充满快乐和创造性的全新旅程3. PythOn语言概述PythOn语言的历史-诞生于1989年,已有25年
3、,达到成熟期-2000年,Python,2,.2008年,Python,语言的特点- 强制缩进保证可读性- 不需要主函数- 可以同时被解释和编译执行- 语言简洁- 编程模式灵活(面向过程和面向对象)4.Python语言的开发环境配置安装Python运行环境-到Python主页下载并安装Python基本开发和运行环境,网址:根据操作系统选择不同版本-下载相应的Python2.7.6版本程序,跟随提示安装使用Python运行环境- 方法一:启动WindOWS命令行工具,输入PythOn,在后输入PythOn语句,如图所示输入exit()或quit()退出- 方法二:调用已安装的H)LE来启动Pyt
4、hOn运行环境,- 方法三:按照语法格式编写代码,保存为文件,例如源文件。打开WindOWS命令行,使用命令PythOn来运行文件使用Python运行环境- 方法四:打开IDLE,Ctrl+N打开一个新窗口,输入语句并保存,使用快键建F5即可运行该程序- 方法五:将Python集成到ECIiPSe等面向较大规模项目开发的集成开发环境中- 其他操作系统上配置Python环境与上述在Windows上的配置方法类似5.HenO程序你的第一个程序:在屏幕上打印出“Hell。World-printwHelloWorldw-表示将引号中的信息输出到屏幕上显示效果如下:Pyon运行环境提示符,提示输入I|p
5、rnrnHelloWorldnHelloWorldU执行结果二、上机练习首先进行Python的安装与开发环境配置,接着完成第一个程序“HelloWorld”三、本课小结计算机的基本概念程序设计语言分类编译和解释Python语言概述Python的HelIo程序编写及开发环境配置课后反思时间:课题Python程序语言入门教让学生了解什么是编程及对编程提起浓厚的学习兴趣;学PythonShell、GUI和PrOnlPt(提示符)的理解;目学会与PythOn交互的方法,Print指令;新建程序文本文档、运行程序的方法、保存时需要注意什么;标学会怎样去查询程序的错误;让学生对编程提起浓厚的兴趣;教学重点
6、print指令的运用;识别和修正程序的错误。教学难点识别和修正程序的错误;主要教法讲授演示法+上机操作教学过程一、复习巩固1、什么是编程2、PythOn我们和计算机沟通的语言所想要表挞编程软件翻计算机挎收的意思译成二进制并执行常用、最流行的几种程序语言:C、C+、C#、Java、VB、python3、Python可以用来做什么开发游戏&软件(游戏后台大多数用PyIhon编写);制作更高级的Flash(webflashgame);创建数据库;黑客hacker(远程攻击计算机、破解硬件Or软件);发明变形金刚(2006年日本FANUC推出的人工智能机器人);学习其他语言的基础(所有程序语言都有共同
7、性,学好PythOn能够让你快人一步的理解其他程序语言);,python几乎无所不能。当然不是每个学习PyUIOn的人都能成功=但是学习PyIhon你将获利以下几点让你的思维更加敏捷!让你变的知识渊博!让你学习更多的英文!=也有可能带来一些“负面影响=X你的皮肤会变得粗糙_一叫做提示符(Prompt),指程序正在等待你键入信息时显示的符号。三、来点指令吧!print“Heyman!”回车(每输入完一行指令都要输入回车以跳转到下一行)Print一打印(命令),指在屏幕上显示文本,而不是常说的用打印机打印在纸上。!注意颜色错误print5+38计算机非常擅长算术运算,计算机被创造出来的初期就是被用
8、来数据计算。再试一条指令!print5*315=TIPS=几乎所有计算机程序和语言中都使用*符号作为乘号。这个符号称作“星号”或“星工=口算&计算器&python三者进行对比吧=口算:Print5*3计算器:Print-9876543Python:Print7521*=口算&计算器&python三者进行对比吧=利用PythOn你除了可以超大数的数学计算之外,你还可以做些令人意想不到的事情,例如:print“Dog+“brotherwDogbrother或者printiiwhereisplane*20whereisplanewhereisplanewhereisplanewhereisplane
9、whereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplanewhereisplane计算机除了非常擅长运算外,另一件事情就是反复的做事情,重要的是它不会感到枯燥,就像上面我让计算机喊了20句whereisplane,如果你高兴可以让它喊到直到MH370出现,前提是马航要给力还有就是不要停电五、编程任
10、务到目前为止,我们只是看到单个Python指令的演示,其实程序就是多个指令的集合。1、创建程序的方法:a.通过PythOnShell菜单栏FileNewWindOWS创建;b.快捷键:Ctrl+No*新程序窗口标题栏显示“Untitled(未命名)。如何给程序取名字2、程序1我们的第一个程序一“我爱吃香蕉”print“我爱吃香蕉!”print“香蕉”*20print“mua*40print“我吃撑了!”3、保存/另存(命名)你的程序文档FilefSave/SaveAs输入完指令后通过Save快:Ctrl+N呆存Or另存为SaveAs快:Ctrl+Shift+S!注意扩展名printwherei
11、splane”syntaxerror:invalidsyntax(语法错误:无效的语法)theresanerrorisyourprogram(这是一个错误的程序)错误原因:Where前面漏了一个引号2、runtimeerror(运行时错误):只会在程序运行时才会发生的错误,是IDLE或python无法检测出来的错误。例如:程序2运行时错误一“我爱大鳄鱼”print“你好!欢迎来到我的动物园!”print“我的动物园有好多好多的动物,例如:”print“鳄鱼”+5错误原因:IDLE1.2.1=NoSubprocess=你好!欢迎来到我的动物园!我的动物园有好多好多的动物,例如:Traceback
12、(mostrecentcalllast):(错误的开始)FileC:UsersAdministratorDestopilovebig”,line4,in(错误发生的位置/程序文件保存的路径)Print“鳄鱼”+5(出错的代码行)TypeError:cannotconcatenatestrandintobjects(python认为可能存在的问题,并不一定是在这里,但是会在这附近)=思考=为嘛Print“鳄鱼”*5可以,print“鳄鱼”+5却不行二二二二二二二二二二二二二二二二二二二二二解惑二二二二二二二二二二二二二二二二二二二二二听我说,这有点像将苹果和鳄鱼放在一起,在PythOn中不能将两
13、个完全不同的东西放在一起,比如说数字(int)和文本(Str)。“鳄鱼”+5像是在说5个苹果和3只鳄鱼相加等于多少结果是8,但是8个什么完全没有意义。不过几乎所有东西都可以乘以一个数来翻倍,如果你有1只鳄鱼,再乘以5,那么你就会有5只鳄鱼!(克隆大乱斗!)。七、笫二个程序任务第一个程序“我爱吃香蕉!”没多大实际意义,仅仅只是在屏幕上打印了一些内容,下面我们来是一个更加有意思的程序,记得给它取上一个名字,NumGuess”是个不错的名字。FilefNewWindowsSave输入以下代码:ftencoding=GBKftimportrandomsecret=(1,100)guess=0tries
14、=0print你好,同学我和你们班主任之间有一个秘密!print这个秘密就在1-99之间的一个数字。我会给你6次机会来猜这个数字,猜对你就可以获赠加多宝一罐!whileguess!=secretandtries6:guess=input(来猜个数字吧!ff)ifguesssecret:print”太高了喔!tries=tries+1ifguess=secret:Print哦也!你猜中这个数字了!那么加多宝的话,请出门左拐找你们蒋老师!”else:Print我不会给你更多机会了,同学!你现在得请我喝一瓶王老吉!Print这个秘密数字就是,secret会让你的程序支持中文学全让PyChOn生成一个
15、院机数#这个数在11。0之间,并将这个数哦予给secret*猜测和尝试的机会从。开始计茸1#猜测和裳试的机会从。开始计算!程序解析:*encoding=GBKimportrandomsecret=random.randint(1,100)guess三Otries-Oprint”你好,同学我和你们班主任之间有一个秘密I7print”这个秘密就在1-99之间的一个数字。我会给你6次机会来猜这个数字,猜对你就可以获赠加多宝一罐!”手最多允许猜6次,whileguess!=secretandtries6guess=input(来猜个数字吧!?)会得到玩家输入的敌手ifguesssecret:print
16、太高了,太高了喔!”tries-tries+1*用掉一次机会*ifguesssecret:!你猜中这个数字了!那么加多宝的话,请出门左拐找你们将老师!”else:print我不会给你更多机会了,同学!你现在得请我喝一瓶王老吉!Pr二二二”这个秘密数字就是,secret斜T印出PyChO泳次陈胜的随机数目while、if、else,elif和input指令我们在以后会详细的学到。程序概念点: 由程序随机选取秘密数。 用户输入他猜的数。 程序根据秘密数检查用户猜的结果:太大还是太小 用户不断尝试,直到猜出这个数,或者用完所有机会。猜到的数与秘密数一致时,玩家获胜。教学过程结束。课堂小结: 学会了如
17、何启动IDLE; 了解了交互模式; 交给Python一些指令来执行; 看到了Python知道如何完成算术运算(包括非常大的数); 启动IDLE文本编辑器键入你的第一个程序:我爱吃香蕉; 运行你的第一个Python程序; 了解如何查看错误消息; 运行你的第二个Python程序:猜数游戏。课堂练习之用脑想一想:1. 如何启动IDLE2. print的作用是什么3. Python中表示乘法和除法的符号是什么4. GUI的特性包括哪些5. 如果想要你的程序支持中文,需要做什么课堂练习之动手做一做:1 .在交互模式中,使用Python计算一周有多少分钟。2 .编写一个简短的小程序,打印3行:你的名字、出
18、生日期,还有你最喜欢的颜色。(结果应该是下面这样)我的名字叫XX,我是XX运动队的。我1988年08月20日出生。我最喜欢的颜色是粉红色。课后反思课题判断循环教学目标掌握if语句:单分支、双分支、多分支、嵌套完成条件语句实例:登录认证模块学会判断输入是否合法了解三元表达式掌握range()掌握循环语句掌握for语句掌握while掌握break、continue,pass完成循环语句实例:登录认证模块扩展教学重点掌握if语句:单分支、双分支、多分支、嵌套了解三元表达式掌握range()掌握循环语句掌握for语句掌握while掌握break、continue、pass教学难点完成条件语句实例:登录
19、认证模块完成循环语句实例:登录认证模块扩展主要教法讲授演示法+上机操作教学过程一、新课讲授1 .掌握if语句a)单分支if表达式:代码块1else:代码块b)双分支if表达式1:代码块1elif表达式2:代码块2c)多分支if表达式1:代码块1elif表达式2:代码块2else:代码块.其他d)嵌套2 .了解三元表达式Expressionlifboolean_expressionelseExpression2如果满足条件A大于B,则max值为A,反之max为B如:max=AifABelseB例如:ei.ajb三l,202.max=(aifabelseb)3 .掌握range()rangeO:产
20、生整数序列例:range(n):产生从O开始,到n的数字序列,不包括n。range(m,n):产生从In开始,到n的数字序列,不包括n。range(m,n,k):产生从In开始,到n,增量为k的数字序列,不包括n。4 .掌握循环语句a)掌握for语句语法格式:forexpressionliniterable:for_suiteelse:else_suite例如:41printPython中的or和vrhile循环都可以加else子句,“42“n”子句在整个循环执行条件不符合时执行这种用法现在一般用得比较少了)。“439-s例子:44力这两聂维环功能完全相目45foriinrange(010):
21、46printi47else:48print,ever,49print50foriinrange(010):51printi52printover,53结果:C:.Python27python.exeC:/Users/Administrator.USER-20150312MBPycharmPro.PythorI中的or和hile循环都可以加else子句,else子句在整个循环执行条件不符合时执行(这种用法现在一般用得比较少了)。;看例子:I0I125689over012345689 overb)掌握WhiIec)掌握break、continue、pass1.1 语法结构:whileboolea
22、n_expression:while_suiteelse:else_suite1.2 解释:如果boolean_expression的结果为True,循环就会执行;boolean_expression的结果为FaISe时终止循环,此时如果有else分支,则会执行。以上结构中,else分支为可选部分。else代码块:循环不满足循环条件终止,才会执行,如果循环终止是由break跳出,则else分支不会执行。1.3 例如:LJUnl由由口由282930313233343536373839CoUnt=5whilecount):print,iloepythonCOunt=CO皿Llelse:printo
23、ver,count=5whilecomt):printilovepython,Count=COtmt-Iprintover,1:test(1)While环令可3百C:Python27python.exeC:/UsersZAdministrator.USER-2ilovepythonilovepythonilovepythonilovepythonilovepythonoverilovepythonilovepythonilovepythonilovepythonilovepythonoverbreak:跳出所处的最近层循环continue:跳到所处的最近层循环的开始处pass:占位语句例如:3
24、 4 print只有当condition为TrUe时,才执行循环。一BcenditionFalse循环就终止了。叫如:5 count=26 whileCOUIdX):7 print*ilepython!”8 Coimt=Coxmt-I9 print如果想要在语句块过程中终止循环,可以用break或者cmHnue10 print*=break是跳出整个循环二二二二二二二=11 COUnt=512 whileTrue:13 print*ilepython!”14 COimt=COimt-I15 printcount16 ifcount=2:17 break1819 print=COntinHe是W
25、E出该次循环=20 count=521 vhileCoUnt)0:22 Coxmt=Count-I23 printcouxt24 ifCoUnt=3:25 continue26 printilovepython!执行结果:只有当Conditim为IrUe时,才执行循环。一旦ConditiOn为FaISe,循环就终止了。例如:ilovepython!ilovpython!如果想要在语句块过程中终止循环,可以用brea通者Cgtimle=breafc是跳出整个循环=ilovpythonl4ilovepython!31 lovepython!2=continue是跳出该次循环=41 lovepyth
26、on!32ilovepython!1ilovpython!0ilovepython!二、上机练习1.条件语句实例:登录认证模块a)判断输入是否合法b)非法用户提示警告信息c)合法用户提示登录成功username=rawinput(username:)ifusername=11:printb用户名不能为空.else:print033l;33;45m登录成功,欢迎%s0330m如Sernamechr()ordO2.循环语句实例:登录认证模块扩展a)直接回车无效,继续输入b)验证用户身份是否合法三、课堂小结if语句:单分支、双分支、多分支、嵌套、三元表达式、range()、循环语句、for语句、wh
27、ile、break、continuepass登录认证模块展示课后反思课题PythOn序列一字符串教学目标了解序列类型常用操作了解索引和切片掌握类型转化掌握强制类型转化学会字符串转换实例:格式化输出菜单列表,将用户的输入数值转化整型并验证掌握字符串常用方法OOOOOO(t)s.isalnum()/()/()/isupper()/is1ower()O/O/O教学重点了解序列类型常用操作了解索引和切片掌握类型转化掌握强制类型转化教学难点学会字符串转换实例主要教法讲授演示法+上机操作教学过程一、新课讲授1 .序列类型常用操作a)索引和切片1.1.1 索引:例:s0从左向右:索引从0开始;从右向左:索引
28、从T开始1.1.2 切片:例:S0:2a三abcdefgprinta0:2printa-3:1.1.3 扩展切片:指定步长,例:s0:9:2a三123456789printa0:2printa2:printal:2b)掌握类型转化格式:print”字符串%formatl%format2w%(变量或值1,变量或值2.)符号及其对应输出格式:%d或%i十进制整数或长整数%f浮点数%s字符串%用于输出符号举例:num=7.5printthenumsare%.2f,%d,%(numj3.1)C)强制类型转化int():强制转换为整型,例如:注意:只能将由数字组成的字符串转换为整型 =5priattyp
29、() =int(a)pri三ttype(a)testC:,Python27,python,xC:/Usrs)I错误用法a=*abcprinttype(a)a=int(a)printtype(a)C:Python27python.exeC:/UsersZAdministrator.USER-20150312MBtypestrTraceback(mostrecentcalllast):FileCUsersAdwzm5tr9tor.USER-20150312WBFyCharaFr。zeetsa三int(a)ValueError:invalidliteralforint()ithbase10:abcP
30、rocessfinishedwithexitcode1float():强制转换为浮点型例如a=5printtype(a)a-float(a)printtype(a)printatestC:Python27python.xetypeinttypefloatPP5.0str():强制转换为字符串例如:a=5printtype(a)a三str(a)printtype(a)printa:estC:Python27python.exeCl/typeinttypest,卜52.掌握字符串常用方法(t):查找子串t,找到返回最小的索引值,找不到则返回-1(iter)使用S作为连接符连接序列iter中所有元素
31、如:list2=h,7,,1Jo,.join(Iist2)(old,new):替换(sep):使用SeP作为分割符,列表返回结果。如:StT=得到www,baidu,com序列s.strip(t):删掉开头和结尾的字符t如:删除空白符()s.index(t):子串t首次出现的位置,找不到报错(t)以子串t开头/结尾:结果是true或falses.isalnum()/()/()/isupper0/islower():判断所有字符是否为数字或字母/是否为字母/是否为数字print=Uc=a.isdigit()print=数字或字母=j*isalnum()print=纯字母=二a.isalpha()
32、结果是boolO/O/:所有字母转化为大写字母/小写字母,大小写互换choice=raw_input(*input:,)ifchoice.isalpha():ifchoice.islower():printchoice.upper()elifchoice.isupper():printchoice.lower()else:printchoice.swapcase()else:print重新开始”stC:Python2八PythOn.exeCzUsers/input:abcABC(t)统计t出现的次数a=,”printa.count(com)二、上机练习a)字符串转换实例:格式化输出菜单列表;将
33、用户的输入数值转化整型并验证也*_cod】ngutU8_*_author_三,Adainistrtypeint三、本课小结序列类型常用操作、索引和切片、类型转化、强制类型转化、字符串常用方法学生展示:字符串转换实例课后反思课题python列表和元祖教掌握列表基础知识掌握列表相关方法学掌握序列类型操作目掌握生成器掌握元组类型标掌握元组相关方法掌握列表相关方法掌握序列类型操作教学重点掌握生成器掌握元组类型掌握列表相关方法教学难点掌握元组相关方法主要教法讲授演示法+上机操作教学过程一、新课讲授1.掌握列表基础知识1.1列表的特点:支持异构:一个列表中含不同类型的对象支持嵌套:即列表中的元素可以是列表
34、可变:支持通过索引,切片,进行修改1.2如何定义列表:方法一:;例:listl=l,3,5方法二:使用内置函数IistO:内建函数list(a_sequence)可以将一个序列转为列表例1:StrlMdddgf)Iistl=Iist(Strl)Iistld,dr,d,g,f例2:(后面讲)tuplel=(l,2,l)Iistl=Iist(tuplel)Iistl1,2,1例3:a三,teacher*,*school,StUdentprintaltest列表C:Python27,python.exeC:/USerS/Administrateteacher,school1,student2 .掌握
35、列表相关方法:2.1 append():向列表中追加元素例如:students三tony,jerry,d&ve*printstudentsprint-studentsappend(ale*)printstudentstest(1)列表C:Python27python.exeC:/Users/Administrato,tony,,jerry,,,dave,,tony,jerry,dave,alex2.2 extend():追加可迭代对象中所有元素例Llist2=l,2,3list3=(Iist2)students=tony,jerry*,tda,estudents_new-,alan,ben,p
36、rintstudentsprint”.#students.&ppendCalex)students.extend(students_new)printstudentstest(1)列表C:Python27python.exeC:/Users/Administrator.,tony,,jerry,,dave,tony,,jerry,,,dave,,,alan,,ben2.3 insert():在指定索引位置插入列表也支持索引,例如:students-tony,jerry,da.ve,students_ne=,benprintstudentsrmt”“students,append(ralexn)
37、students,extend(students_new)printstudentsprint索引0printstudents0print,索引LI“printstudents-1print索弓Urprintstudents1:2printstudents1:3print索引1:3结果不包含最后一test列表C:Pythoxt27.python.exeC:/UsersZAdministrator.USER-2015,tony,jerry,*dave,tony,,,jerry,,,dave/,,alan,ben索引0tonyben索引1:-2jerry,dave/,jerry,,dave,索弓I1:3结果不包含最后插入例子:students三tony,jerrytdae*students-new三,al3,ben,rmtstudentsnntstudents,append(alex)students.extend(students_new)printstudentsstudents,insert1bob)printstudentsstudents,insert(7,carl)printstudentsstudents,ins