第一节 选择编程语言( 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\"
因篇幅问题不能全部显示,请点此查看更多更全内容