您的当前位置:首页正文

python教案课程

2023-12-25 来源:步旅网
第五单元 进阶程序设计(总 10 课时)

第一节 选择编程语言( 1 课时)

一、教学目标

1、了解程序设计语言和两种翻译方式;

2、了解 Python 背景、功能、安装,熟悉 Python 编程环境;

3、编程初体验。体验一个小程序从建立、输入、调试、运行、保存的全过程。掌

握 Turtle 模块的调用,并尝试修改 Turtle 图案属性。 二、重点难点

教学重点:熟悉 Python 编程环境;编程初体验 教学难点:编程初体验;程序的书写规范和调试窗口的使用。 三、教学过程

(一)认识 Python 语言

1、 Python 语言

Python 在英文中的意思是“蟒蛇”,这个语言的标识就是两只缠绕的蟒蛇。 Python语言的应用范围非常广泛。例如,它可以用在游戏开发中;电影中的

3D渲

染也会用到Python语言;互联网中Python语言的声音更是无处不在,谷歌、豆瓣和知 乎等网站都是使用Python语言搭建。

Python语言是著名的Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣 诞节而编写的

一个编程语言。Guido van Rossum从 2005年开始就只于谷歌公司,在谷歌 以及编程社区的大力支持下,Python也迎来了大发展。

2、启动 Python

L血注:

B#! ** Python [oom au nd fast 蜜 Py^ar- Manual%

Lljnihslall l^ythc-n

Qj|jid(TiW

Ulead 曲乂GbRLiCiG 11

皿*貼辿6-C®HK 训 iidE*.

Medifl

.训HPRAR

3、Python开发环境

(二) ------------------------- 编程初体验 我的第一个Python程序

che ngxul.py代码:

import turtle #调用 turtle 模块 a1=turtle.Turtle()

#窗口中显示一只海龟,并给他命名为“

al

关于程序的书写: ①Python语言是区分大小写的,比如此处的 Turtle()中的T要大写; ②Python语言中的字母和符号只能是半角英文符号; (三) 实践与思考

1、把a1.shape(\"'语句添加在chengxu1.py程序的后面:

提示:请你每次在\"\"中输入以下不同的内容:square circle、arrow、turtle,然后,保存 并运行程序,观察每次的运行结果 说一说,shape(的作用。

语句 显示结果 shape(\"turtle\") shape(\"arrow\") shape(\"circle\") shape(\"square\")

2、把a1.color(\"\")语句添加在chengxul.py程序的后面:

提示:请你每次在\"\"中输入以下不同的内容:red、green blue,然后,保存并运行程序, 运行结果。

试一试:除了 red、green blue,其他颜色能不能用? 说一说,color()的作用

语句 显示结果 color(\"red\") color(\"gree n\") color(\"blue\") 第二节选择编程语言(3课时) 第1课时控制“海龟”移动

一、 教学目标

1、

学会用函数控制海龟运动;

观察每次的2、 掌握几个函数及参数的设置:forward。、speed() write(); 3、

了解程序的三种结构之一——顺序结构。

二、 重点难点

教学重点:函数 forward。、speed() write() 教学难点:顺序结构编程及简单应用。 三、 教学过程 (一) 函数 forward。

格式:forward(参数)

功能:向前移动(这里的“向前指的是箭头指示的方向”) 例如:forward(100) ##向前移动100个像素 (二) 函数 speed()

格式:speed参数) 功能:设定速度

例如:speed(\"slowest\") ##以最慢的速度

不同参数的speed() speed(\"slowest\") 功能 最慢 慢速 正常速度(系统默认值) 快速 最快 speed(\"slow\") speed(\" no rmal\") speed(\"fast\") speed(\"fastest\") (三) 函数write()

格式:write(参数1,参数2)

功能:在屏幕上显示文字

例如:write(\"起步\(\"黑体\)) ##屏幕上显示黑体16号的“起步”两个字 (四) 程序1――海龟的简单移动

import turtle

a=turtle.Turtle()

a.forward(IOO)

程序解释:

forward(IOO)海龟向前移动100个像素(这里的“向前指的是箭头指示的方向”)

(五)程序2――海龟的多样运动

import turtle 小黑=turtle Turtle() 小IB弟gd&lcw白戲 小黒writef起步\") 小黑.forward (100) 小

黑wrftef加速) 小H speedflastesf} 小黑 forward(IOO) 小黑writef减速•) speedf'slowasf) 小黑

forward(WO)

-

(六)实践与思考

结合两节课学过的知识,修改程序 2,使之实现如下功能:

起步 加速 减速 ■一

提示:

color()函数 --- 设置颜色 write()函数 --- 设置字体字号

第 2 课时 控制“海龟”移动

、教学目标

1、了解常量、变量、表达式、赋值; 2、掌握变量的命名、表达式的组成;

3、掌握函数Shape() left()、type()及其参数的设置。

二、重点难点 教学重点:常量、变量、表达式、赋值 教学难点:给变量赋值。 三、教学过程

(一) 常量 常量就是不变的值,主要由数值型常量和字符串常量。字符串常量是用引号括起来 的字符串。

例如:

数值型常量—— 100、 3.14159 字符值常量—— \"slowest\"、 \"起步\"

(二) 变量 变量是指在程序运行过程中,其值可以改变的量。变量是内存中存放数据的存储单 元,存放的数据叫变量的值,给存储单元的命名叫变量名。 变量名的命名规则,必须是以字

母或中文开头,后面可以有字母、中文或数字。 正确的变量名,例如:小红 1、 pi、

a、 x2

(三) 表达式

表达式是程序中能计算出 值的式子。“值”的含义是广泛的,比如:真假、字符串

都是值,turtle.Turtle()的值则是一个海龟对象 以下都是表达式:

判断 1+1 原因 值是2 值是假 是常量,值是3 是变量,有值 值是一个海龟对象 值是1.5 值是运动距离100像素 字符串是常量 pi和r是变量,计算结果是数值 是否是表达式 是 是 是 是 是 是 是 是 是 是 是 1>2 3 a1 turtle.Turtle() 3/2 小黑.forward(100) \"This is a book\" pi*r*r \"a\"+\"b\" 结果是字符串\"ab\" 是变量 小黑

(四) 赋值

1、什么是赋值

赋值就是给变量赋予一个值。因为变量其实是内存中的存储单元,所以其中存储的 数据是可以变化的。

2、赋值语句

用赋值语句,可以给变量赋值 赋值语句的书写格式:变量=表达式 例如:

n=1

#把1赋予变量n,执行后n的值为1

n=n+1

#把n+1的结果计算出来后,赋值给n,则n的值增加1

a仁turtle.Turtle() 3、 变量的特点

变量是变化的,存储的是最新的值。

4、 变量的数据类型

Python中的每一个“值”都有其自身的类型,女口:字符串是字符型、真假是布尔型、 可计

算的数是数值型……。不同数据类型的值之间是不应该进行运算的,比如 \"word\"+1 是错的。但是,可以将一个类型的值转换为另一个类型, 这需要用到一些类型转换函数。

函数 in t() 说明 把数字字符串转换成整数,int(\"2\")得到整数2 把整数和字符串转换成实数,float(5)得到5.0,float(\"5\")得到5.0 把数字转换成字符,str(5)得到\"5\" 查看值的类型 float() str() type() 你可以输入下面的语句,然后运行程序,观察调试窗口的结果显示

print(int(\"2\")+2)

# 结果为 4

print(\"I am \"+str(5)+\" years old.\") #结果为\"I am 5 years old.\" prin t(type(\"Marry\")) #结果是\"Marry\"的数据类型为字符型 prin t(type(1OO)) #结果是100的数据类型为整型

(五)程序1――变化的变量

a=1 b=2

print(a,b) #1 2

a=b #让a得到b的值,所以,此语句执行后, print(a,b) #2 1

a和b的值都是2

(六) 程序2――第2只海龟

import turtle

小黑=turtl&.l urtl9() 小黑 forward(IOO) 小黒■ turtl&.TurtleO 小 i^.shape( \"arrow\")

小黑 left(90> 小黑一 forwa rd (200) (七) 实践与思考

编程实现3个变量的值的交换:

例如:开始时a=1,b=2,c=3,程序执行后使得, 编程思路为:

a=2,b=3,c=1。

第3课时绘制正方形

、教学目标

1学会使用left()命令,完成绘制正方形程序,进一步体会程序的顺序结构;

2、综合运用所学,尝试自己编写程序。

二、 重点难点

教学重点:left ()命令

教学难点:尝试用算法分析和解决生活中的问题。 三、 教学过程 (一) left()命令

left()函数的功能:按逆时针旋转一个角度。

(二) 程序1――海龟向左转

import turtle

小黑=turtle Turtlef) 小黑」eft(45)

#小黒向左(逆时针]转45度

(三) 程序2――绘制正方形

import turtle 小黑=turtle. Turtle) 小黑 forward(IOO) 小黑」&ft(9O)

小黑 forward(IOO)

小黑

小黑 forward(IOO) I小黑」&ft(9O) 小黑.forward(WO) 小黑 l6.ft(9D)

I

设计思路:

海龟前行-左转-前行-左转-前行-左转-前行-左转 程序说明:

程序自上而下,依次执行每一条语句,就是程序的顺序结构。绘制正方形程序中语

句a.foward(100和a.left(90依次重复执行了 4次,这种繁琐的不必要的设计,我们将在下 节课中

得到解决。 试一试:

去掉最后一条语句a.left(90,结果会怎样? (四)实践与思考

1、 修改绘制正方形程序,使之可以让不同边长的正方形绘制起来更容易。

提示:用一个变量(上节课所学)代替边长100

2、 在绘制正方形程序基础上修改程序,尝试绘制一个正五边形,或其他正多边形 都可以,

如下图所示。

提示:应该怎样控制left()的角度?

第三节简化重复命令(3课时) 第1课时绘制多个旋转的正方形

一、 教学目标

1、 认识程序的循环结构;掌握for循环; 2、 实现绘制多个正方形程序。

二、 重点难点

教学重点:for循环

教学难点:嵌套循环 三、 教学过程

(一)程序1――改进绘制正方形程序,认识循环

import turtle a=turtle.Turtle() a.forward(IOO) a.left(90) a.forward(100) a.left(90) a.forward(100) a.left(90) import turtle a=turtle.Turtle() for i in ran ge(4): a.forward(100) a.forward(100) a.left(90) J比较,改进为— a.left(90) 循环语句格式:

for循环变量in range次数):

| —循环语句块

功能:循环语句块中的所有语句将被重复执行指定次数 说明:

1循环次数由range次数)决定,range次数)得到一组从0到n-1的整数,即循环语

句块被循环执行n次。

2循环语句块中可以有一条或多条语句,这些语句都是要被重复执行的 3、循环可以嵌套,如:

for循环变垦1 in range(次数):

Qf°循环变量2 in range(次数):—内循环 外循环 循坏语句块 J

r

说明:内循环作为外循环的循环语句块,被重复执行 n次;而内循环本身也要重复 执行m

次。

(二)程序2――绘制多个旋转的正方形

import turtle a=turtle.Turtle() for i in range(10): a.forward(100) a.left(90) a.forward(100) a.left(90) a.forward(100) a.left(90) a.forward(100) a.left(90) a.forward(20) a.right(360/10) 分析:

Import turtle

J改进为f

Import turtle a=turtle.Turtle() for i in ran ge(10): for j in ran ge(4): a.forward(100) a.left(90) a.forward(20) a.right(360/10) a二turtle.Turtle() for i in ran ge(10):

for j in

ran ge(4):

a.forward(50) a.left(90) a.forward(20)

J循环体

重复4次 画一个正 方形

I循环体

重复10次 画10个正 方形

a.right(360/10)

第2课时 幻影海龟

一、 教学目标

1、 掌握while循环;

2、 会调用ran dom模块获得随机整数ran di nt()。 3、 知道up()、stamp() goto()函数的作用

二、 重点难点

教学重点:掌握while循环和random(随机函数 教学难点:理解random()随机函数 三、 教学过程 (一)while 循环

格式:

while判断条件:

循环语句块 功能:

判断条件是否为真,如果条件为真,则重复执行循环语句块,直到条件为假,则退

条件是否为真?

出循环

(二) random(随机函数

调用随机模块:import random

获得x~y之间的随机整数:randint(x,y) (三) 程序1――幻影海龟

import turtle

import ran dom

a=turtle.Turtle()

a.color(\"red\")

a.sh ape(\"turtle\")

#尾巴抬起,不划轨迹

#无限次重复

a.up()

while 0<1:

a.goto(ra ndom.ra ndi nt(-300,300),ra ndom.ra ndin t(-300,300)# 让海龟移动到指定坐标

位置

a.stamp() #让海龟在所在位置留下印迹

(四) 思考与实践

1编写程序实现如图效果,保存为\"zyl.py\"

i - 1 * \\ 1

设计思路:

1.

如图位置,画12条短线:用循环实现一一循环12次,每次画一条短线。 如何画一条短线:

原点至短线起点之间,海龟移动但不能画线,需抬起画笔,用 落笔down(),然后,画一条短线forward。; 海龟回到原点goto(0a

注意,回原点的过程需要抬起画笔(想一想,为什么?)。 旋转一个角度,为下一次画短线做准备。 想一想:用 left()还是 right()?

up()解决;

2.

2、编写程序实现如图效果,保存为\"zy2.py\"

因篇幅问题不能全部显示,请点此查看更多更全内容