Python教案-教学设计_第1页
Python教案-教学设计_第2页
Python教案-教学设计_第3页
Python教案-教学设计_第4页
Python教案-教学设计_第5页
已阅读5页,还剩116页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python教案一一教学设计

时间:

课题程序设计基础-绪论

教1.了解程序设计语言的发展历史

学2.理解Python语言的特点及其重要性

目3.掌握Python语言Hello程序的编写方法

标4.掌握Python语言开发的运行环境的配置

Python语言的特点及其重要性

教学重点

Python语言开发的运行环境的配置

教学难点Python语言开发的运行环境的配置

主要教法讲授演示法+上机操作

教学过程

一、新课导入

1.计算机的定义:

能够根据指令操作数据的设备

•计算机的两个特性

-功能性

-可编程性

・计算机的可编程性需要通过程序设计来体现

2.程序设计语言:计算机能够理解和识别操作的一种交互体系

•程序设计语言的种类

•机器语言

•汇编语言

•高级语言

•常用的程序设计语言

•高级语言的执行方法

-静态语言:编译执行

2

-脚本语言:解释执行

•编译和解释的区别

-编译:一次性的翻译,需对目标代码优化

-解释:每次运行都需要

•编译:源代码(高级语言)转换成目标代码(机器语言)

•解释:源代码逐条转化成目标代码同时逐条运行目标代码的过程

­编译的好处

-目标代码执行速度更快

-目标代码在相同操作系统上使用灵活

-解释的好处

-便于维护源代码

-良好的可移植性

•Python语言:将解释器和编译器结合的脚本语言

•计算机已成为普通工具

•学会编程:满足感和安全感

•C/C++等语言•复杂

•Python语喜充翥快乐和创造性的全新旅程

*

3.Python语言概述

•Python语言的历史

-诞生于1989年,已有25年,达到成熟期

—2000年,Python2.0,2,.7.6

-2008年,Python3.0,3.4.x

,Python语言的特点

-强制缩进保证可读性

-不需要主函数

-可以同时被解释和编译执行

3

_语言简洁

-编着模式灵活(面向过程和面向对象)

4.Python语言的开发环境配置

•安装Python运行环境

-到Python主页下载并安装Python基本开发和运行环境,网址:

http:〃/download/

-根据操作系统选择不同版本

-下载相应的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”

—printwHelloWorldw

-表示将引号中的信息输出到屏幕上

显示效果如下:

Python运行环境提示符,提示输入

|»>|prLnt"HelloWorld"

HelloWorld执行结果

二、上机练习

首先进行Python的安装与开发环境配置,

接着完成第一个程序“HelloWorld”

三、本课小结

计算机的基本概念

程序设计语言分类

编译和解释

Python语言概述

Python的Hello程序编写及开发环境配置

4

5

时间:

课题Python程序语言入门

•让学生了解什么是编程及对编程提起浓厚的学习兴趣;

学,PythonShell、GUI和Prompt(提示符)的理解;

,学会与Python交互的方法,print指令;

目・新建程序文本文档、运行程序的方法、保存时需要注意什么;

•学会怎样去查询程序的错误;

•让学生对编程提起浓厚的兴趣;

教学重点,print指令的运用;

•识别和修正程序的错误。

•识别和修正程序的错误;

教学难点

主要教法讲授演示法+上机操作

教学过程

一、复习巩固

1、什么是编程?

2、Python—我们和计算机沟通的语言

所想要表达编程软件翻___________计算机接收

的意思译成二进制并执行

常用、最流行的几种程序语言:C、C++、C#、Java、VB、python

3、Python可以用来做什么

・开发游戏&软件(游戏后台大多数用python编写);

,制作更高级的Flash(webflashgame);

•创建数据库;

.黑客hacker(远程攻击计算机、破解硬件。r软件);

•发明变形金刚(2006年日本FANUC推出的人工智能机器人);

•学习其他语言的基础(所有程序语言都有共同性,学好python能够让你快人一步

的理解其他程序语言);

•python几乎无所不能。

========当然不是每一个学习python的人都能成功========

-------------但是学习python你将获利以下几点---------

V让你的思维更加敏捷!

V让你变的知识渊博!

V让你学习更多的英文!

======也有可能带来一些“负面影响"=====

X你的皮肤会变得粗糙>_<

X你可能会变成一枚宅男/口'

X花500元买一副眼镜。一。

6

课后

反思

7

时间:

课题判断循环

掌握if语句:单分支、双分支、多分支、嵌套

完成条件语句实例:登录认证模块

学会判断输入是否合法

学了解三元表达式

掌握range()

掌握循环语句

掌握for语句

掌握

标while

掌握break、continue、pass

完成循环语句实例:登录认证模块扩展

掌握if语句:单分支、双分支、多分支、嵌套

了解三元表达式

掌握range()

教学重点掌握循环语句

掌握for语句

掌握while

掌握break、continue>pass

完成条件语句实例:登录认证模块

教学难点

完成循环语句实例:登录认证模块扩展

主要教法讲授演示法+上机操作

教学过程

一、新课讲授

1.掌握if语句

a)单分支

if表ik式:

代码块1

else:

代码块

b)双分支

if表达式1:

8

代码块1

elif表达式2:

代码块2

c)多分支

if表达式1:

代码块1

elif表达式2:

代码块2

・・・

else:

代码块.其他

d)嵌套

2.了解三元表达式

Expression1ifboo1ean_expressionelseExpression2

如果满足条件A大于B,则max值为A,反之max为B

如:max=AifA>BelseB

例如:

01.a>b=lJ2

02.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语句

9

语法格式:

forexpressionliniterable:

for__suite

else:

else_suite

例如:

41print"Python中的for和.hile循环都可以加else子句,'\

42"\nelse子句在整个循环执行条件不符合时执行(这种用法现在一般用得比较少'7)。"

439例1子:”

44=二="考二二我三三三二|

45foriinrange(0,10):

46printi

47else:

48print,over,

49print*========="

50foriinrange(0,10):

51printi

52print'over,

53

结果:

10

C:\Python271python.exeC:/Users/Administrator.USER-20150312MB/PycharmPro.

Python中的£or和*hi1e循环都可以加els❷子句,

else子句在整个循环执行条件不符合时执行(这种用法现在一般用得比较少了)。

'看例子:

I。

!1

2

'3

4

5

6

<

8

9

over

0

1

2

3

4

5

6

8

9

over

b)掌握while

c)掌握break%continuevpass

1.1语法结构:

whileboo1ean_expression:

while_suite

else:

else_suite

1.2解释:

如果boolean_expression的结果为True,循环就会执行;boolean_expression

的结果为False时终止循环,此时如果有else分支,则会执行。

以上结构中,else分支为可选部分。else代码块:循环不满足循环条件终止,

11

才会执行,如果循环终止是由break跳出,则else分支不会执行。

1.3例如:

LJum

>团28count=5

>团29whilecountX):

>团30print'ilovepython,

31coun.t=coimt-l

>由

32else:

>白

33print'over,

>口

34

>由

35count=5

>口

36whilecoxmtX):

>口

37print'ilovepython,

>口

38coxmt=count-l

39print*over,

r-test(1)whileffi^

C:\Python27\pythou.exeC:/Users/Administrator.USER_2>

ilovepython

4

ilovepython

目ilovepython

3ilovepython

ilovepython

over

前ilovepython

ilovepython

ilovepython

ilovepython

ilovepython

over

break:跳出所处的最近层循环

continue:跳到所处的最近层循环的开始处

pass:占位语句

例如:

12

3

4print”只有当condition为True时,才板行循环。一旦condition为Fal$e,循环就终止了。伤如:

5count=2

6whilecountX):

7print*ilovepython!*

8count=coimt-l

9print"如果想要在语句块过程中终止循环,可以用breJ或者continue,

10print------------------跳出壑个循环---------------------

11count=5

12whileTrue:

13print=ilovepython!”

14coun.t=c。皿t-1

15printcount

16ifcount==2:

17break

18

19print*-------------------continue是跳出该次循环--------------"

20count=5

21vhilecountX):

22count=count-l

23printcount|

24ifcount==3:

25continue

26printlovepython!*

执行结果:

只有当condition为Irue时,才执行循环。一旦condition为False,循环就终止了。例如:

ilovepython!

ilovepython!

如果想要在语句块过程中终止循环,可以用break或者continue

-------------break是跳出整个循环=============

ilovepython!

4

ilovepython!

3

ilovepython!

2

-------------continue是跳出该次循环------------

4

ilovepython!

3

2

ilovepython!

1

ilovepython!

0

ilovepython!

二、上机练习

1.条件语句实例:登录认证模块

a)判断输入是否合法

13

b)非法用户提示警告信息

C)合法用户提示登录成功

username=raw_input("username:")

ifusername=='':

print"用户名不能为空,,

else:

print”\033[1;33;45m登录成功,欢

迎%s\033[0nT%username

chr()

ord()

2.循环语句实例:登录认证模块扩展

a)直接回车无效,继续输入

b)验证用户身份是否合法

三、课堂小结

if语句:单分支、双分支、多分支、嵌套、三元表达式、range。、循环语句、for语句、

while

、break、continue>pass

登录认证模块展示

课后

反思

14

15

时间:

课题python序列一字符串

了解序列类型常用操作

了解索引和切片

教掌握类型转化

掌握强制类型转化

学学会字符串转换实例:格式化输出菜单列表,将用户的输入数值转化整型并

验证

目掌握字符串常用方法

s.find()s.join()s.replace()s.split()s.stripOs.index()s.startswith/s.endswith(t)

标s.isalnum()/s.isalpha()/s.isdigit()/isupper()/islower()

s.upper()/s.lower()/s.swapcase

s.count()

了解序列类型常用操作

了解索引和切片

教学重点

掌握类型转化

掌握强制类型转化

教学难点学会字符串转换实例

主要教法讲授演示法+上机操作

教学过程

一、新课讲授

1.序列类型常用操作

a)索引和切片

LL1索引:例:s[0]从左向右:索引从0开始;

从右向左:索引从开始

LL2切片:例:s[0:2]

a="abcdefg"

printa[0:2]

printa[-3:]

1.1.3扩展切片:指定步长,例:s[0:9:2]

16

a="123456789”

printa[0:2]

printa[2:]

printa[l::2]

b)掌握类型转化

格式:

print”字符

串%formatl%format2…"%(变量或

值1,变量或值2..・)

符号及其对应输出格式:

%d或猊十进制整数或长整数

%f浮点数

%s字符串

%%用于输出符号%

举例:

num=7.5

printMthenumsare%(num,3,l)

C)强制类型转化

int():强制转换为整型,

例如:

注意:只能将由数字组成的字符串转换为整

17

a='5'

printtype(a)

a=int(a)

printtype(a)

test

C:\Python271python.exeC:/Users?

〈type'str'>

〈type'int'>

i

错误用法

a二'abc'

printtype(a)

a-int(a)|

printtype(a)

C:\Python27\pythou.exeC:/Users/Administrator.USER-20150312MB/

〈type'str'>

Iraceback(mostrecentcalllast):

FileC:/Users/Adroiiustrat。〕USER-20150312MB/Pych&rmPro7ects

a=int(a)

ValueError:invalidliteralforint()withbase10:'abc'

Processfinishedwithexitcode1

float():强制转换为浮点型例如

a=5

printtype(a)

a=float(a)

printtype(a)

printa

test

C:\Python27\python.exe

〈type'int'>

〈type'float'>

?

?5.0

18

strO:强制转换为字符串例如:

a=5

printtype(a)

a=str(a)

printtype(a)

printa

rest

C:\Python27\python.exeC:/'

〈type'int'>

〈type'st,卜

5

2.掌握字符串常用方法

s.find(t):查找子串t,找到返回最小的索引值,找不到则返回-1

s.join(iter)使用s作为连接符连接序列iter中所有元素

如上r:rli・st12c=L「"h1〃,"e","r1","i1",〃o",".","c",Ho","m"1J

.join(list2)

s.replace(old,new):替换

s.split(sep):使用sep作为分割符,列表返回结果。

如:str=wwww.baidu.comw

str.split(*.*)得到[“www","baidu","com”]序列

s.strip(t):删掉开头和结尾的字符t

如:删除空白符sl.stripO

s.index(t):子串t首次出现的位置,找不到报错

s.startswith/s.endswith(t)以子串t开头/结尾:结果是true或false

s.isalnum()/s.isalpha()/s.isdigit()/isupper()/is1ower():判断所有字符

是否为数字或字母

/是否为字母/是否为数字

print'====数字======',a.isdigit()

print'===数字或字母isalnum()

print"===纯字母=====",旦.isalpha()

结果是bool

19

s.upper()/s.lower()/s.swapcase:所有字母转化为大写字母/小写字母,大小写

互换

choice=raw_input("input:")

ifchoice.isalpha():

ifchoice.islower():

printchoice.upper()

elifchoice.isupper():

printchoice.lower()

else:

printchoice.swapcase()

else:

print“重新开始”

st

C:\Python2八python.exeC:/Users/

input:abc

ABC

s.count(t)统计t出现的次数

a="〉www,,www・”

printa.count(1corn,)

二、上机练习

a)字符串转换实例:格式化输出菜单列表;将用户的输入数值转化整型

并验证

20

ng:ut

_author_-*Adainistr&tor*

print,,,

初口口坦半

1.iPhone6

2.ifatek

3.iP&d

choice=ra»_input("请选择您要购买的物品*)

printtype(choice)

choice=int(choice)

printtype(choice)

test

4C:\Python27\python.exeC:/Users/Administrator.USER-20

’______________一物口口注口消的隼_____

,1.iPhone6

g2.iWatch

日3.iPad

r

"请选择您要购买的物品:

〈type'str'>

〈type'int'>

三、本课小结

序列类型常用操作、索引和切片、类型转化、强制类型转化、字符串常用方法

学生展示:字符串转换实例

课后

反思

21

时间:

课题python列表和元祖

掌握列表基础知识

学掌握列表相关方法

掌握序列类型操作

掌握生成器

目掌握元组类型

掌握元组相关方法

掌握列表相关方法

掌握序列类型操作

教学重点

掌握生成器

掌握元组类型

掌握列表相关方法

教学难点

掌握元组相关方法

主要教法讲授演示法+上机操作

教学过程

一、新课讲授

1.掌握列表基础知识

1.1列表的特点:

支持异构:一个列表中含不同类型的对象

支持嵌套:即列表中的元素可以是列表

可变:支持通过索引,切片,进行修改

1.2如何定义列表:

方法一:□;例:listl=[l,3,5]

方法二:使用内置函数list。:内建函数list(a_sequence)可以将一个序列转为

列表

例1:

»>strl=*dddgf*

»>listl=list(strl)

»>listl

22

例2:(后面讲)

»>tuplel=(l,2,1)

»>listl=list(tuplel)

»>listl

[1,2,1]

例3:

a=[*teacher*,*school*t*student*]

printa|

test(1)列表

C:\Python27\python.exeC:/Users/Administrate

['teacher','school','student']

2.掌握列表相关方法:

2.1append():向列表中追加元素

例如:

students-['tony't'jerry,,'dave>]

printstudents

print------------------.

students,append("alex")

printstudents

test⑴列表

C:\Python27\python.exeC:/Users/Administrato

['tony','jerry',‘dave']

/['tony','jerry',‘dave',*alex']

I

2.2extend():追加可迭代对象中所有元素

例1:list2=[l,2,3]

list3=[]

list3.extend(list2)

例2

23

students-[,tony','jerry,,*dave,]

students_new-[',*ben/]

printstudents

print.---------.

^students.append(^alex^)

students,extend(students_new)

printstudents

test(l)列表

C:\Python27\python.exeC:/Users/Administrator.

['tony','jerry',*dave']

「tony,,,jerry,,,dave,,,alan",,ben,]

2.3insert():在指定索引位置插入

列表也支持索引,例如:

students-['tony*,'jerry,,'dave,]

students_new-['alan't'ben,]

printstudents

和2mt"---------"

^students,appendCalex

students,extend(students_new)

printstudents

print-------索弓g-------

printstudents[0]

print-------索引『11------”

printstudents[-1]

print”------索引C:-2]-------

printstudents[1:­2]

printstudents[1:3]

print”------索引[13]结果不包含最后-------1

test⑴列表

C:\Python27tpython.exeC:/Users/Administrator.USER-2015

Utony,,'jerry,,dave"]

「tony,,,jerry,,*dave",,alan,,"ben]

-----索引[01------

tony

-----索引[Tl------

ben

-----索引n:-21------

['jerry,‘dave']

['jerry',tdave"]

-----索引n:3]结果不包含最后,

插入例子:

24

students-「tony*,*jerry*,*dave*]

students_new-[,aJLa_n,t'ben*]

Sprintstudents

Sprint"----------"

^students,append(^alexv)

students,extend(students_new)

printstudents

students,insert(1,"bob")

printstudents

students,insert(7,"carl")

printstudents

students,insert(0,*bob*)

printstudents

students,append("teacher

printstudents

RSt⑴丁一列表

C:\Python27\python.exeC:/Users/Administrator.USER-20150312MB/PycharmProjects

[,tony,,'jerry,‘dave",,alan,,‘ben]

»•,»j>»T»,!_,1

Utony,,'bob"jerrytdave,alan,benJ

[,tony,,'bob,,jerry,dave,alan,ben,carlJ

「bob,,tony,,,bob,,,jerry,,,dave,,,alan,,ben,,carl,]

「bob,,tony,,,bob,,,jerry,,*dave",,alan,,,ben,,,carV,*teacher^]

2.4pop():按照索引弹出元素,返回值为该元素。默认弹出最后一个元素。

例如:

studentsl=students

printstudentsi

print----------野认弹出(删除)最后一个元素一一

studentsl.pop()

printstudentsl

print-----------默认弹出(删除)指定索弓I位置元素

studentsl.pop(2)

printstudentsl

studentsl.pop(-1)

printstudentsl

test⑴列表

Ltony,7bob",yjerry,,dave',alan',"benJ

「tony、,bob」,,jerry,,,davl,,alan,,,ben,,,carl"]

「bob',,tony,,,bob',,jerry',,dave','alan,,,ben,*carl"]

「bob,,,tony,,,bob,,,jerry,,,dave,,,alan,,,ben,,*carl',*teacher/]

里,;12的U>>/呻1。。\HU一寺

裁1A5甲R(则际)O/S—1几家

「bob,,,tony,,,bob,,,jerry,,,dave,,,alan,,*ben?*carl"]

里41?由up/映|R全、4匕4去Pl,??罢―美_____

新隼山(删际)珀止系511乂五九余

「bob,,,tony,,,jerry,,,dave,,,alan,,*ben,*carl']

「bob",tony,,,jerry,,,dave,,,alan,,*ben]

25

2.5remove():按照元素值弹出第一个匹配项

例如:

students-['bob',tony*,'bob','jerry"'dave',alan*,'ben',‘carl',*teacher/]

students.remove("bob")

printstudents

列表

C:\Python27\python.exeC:/Users/Administrator.USER-20150312ME/PycharmProjects/untitled/列表.py

[tony,,,bob,,,jerry,,,dave,,,alan,,*ben,,carl,,9teacher"]

2.6count():统计指定值出现的次数

students-「bob',‘tony','bob','jerry',‘dave',‘alan','ben',‘carl',,teacher']

count-students,count("bob")

printcount

列表

C:\Python27\python.exeC:/Users/Administrator,USER-20150312MB/PycharmProjects/untitled/列表.py

2

2.7index():某个值第一次出现的位置

例如:

9

students-['bob',/tony*,bob,,'jerry',*dave*,,alan*t'ben',‘carl',,teacher*]

count=students,index("bob")

count-students,index(*teacher*)

printcount

列表

卜C:\Python27\python.exeC:/Users/AMinistrator.USER-20150312MB/PycharmFrojects/untitied/列表iy

8

2.8reverse():反向存放

例如:

26

students-['bob',,tony/,9bob,,'jerry',,dave*,‘alan"*ben*,'carl','teacher']

printstudents

students,reverse()

printstudents

test(1)列表

C:\Python27python.exeC:/Users/Administrator.USER-20150312MB/PycharmProjects/xmtitied/列表.py

「bob,,,tony,,,bob,,,jerry,,,dave,,,alan,,,ben,,*carl",,teacher,]

Lteacher',*carV,,ben,,,alan,,,dave,,,jerry,,,bob,,,tony,,,bob,]

2.9查询遍历:

forIinlist

fori,kenument(list)

2.10sort():排序

students-['bob',‘tony','bob','jerry',‘dave',‘alan''ben',‘carl',,teacher/]

students,sort()

printstudents

test(1)3列表

C:\Python27\python.exeC:/Users/Administrator.USER-20150312MB/PycharmProjects/untitled/列表.py

「alan,,rben,,bob,,,bob,,,carl,,,dave,,,jerry,,,teacher,,,tony,]

3.掌握序列类型操作:序列类型包括:字符串、列表、元组

3.1+连接*重复

例如:

Python表达式结果描述

len([l,2,3])3长度

[1,2,3]+[4,5,6][1,2,3,4,5,6]组合

['Hi!']*4['H8'f'Hi!','Hi!','HB']重复

3in[1,2,3]True元素是否存在于列表中

forxin[1,2,3]:printxz123迭代

3.2max():求最大值、min():求最小值

例如:

27

41

25a=fl,2,3,0]

26printmin(a)

27printmax(a)

OQ

test(1)列表

C:\Pythcm27\python.exeC:/IT

0

3

4.掌握列表生成式

列表生成式,是Python内置的一种极其强大的生

成list的表达式。

4.1用于:基于已有列表生成新列表

4.2语法结构:

列表生成式的书写格式:[x*xforxinranged,11)]

第一:把要生成的元素x*x放到前面

第二:后面跟上for循环

这样就可以把list创建出来。

for循环后面还可以加上if判断

4.3举例:

1到10之间的偶数平方再

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论