1、python教案第五单元 进阶程序设计(总10课时)第一节 选择编程语言(1课时)一、教学目标1、了解程序设计语言和两种翻译方式;2、了解Python背景、功能、安装,熟悉Python编程环境;3、编程初体验。体验一个小程序从建立、输入、调试、运行、保存的全过程。掌握Turtle模块的调用,并尝试修改Turtle图案属性。二、重点难点教学重点:熟悉 Python 编程环境;编程初体验教学难点:编程初体验;程序的书写规范和调试窗口的使用。三、教学过程(一)认识Python语言1、Python语言Python在英文中的意思是“蟒蛇”,这个语言的标识就是两只缠绕的蟒蛇。Python语言的应用范围非常
2、广泛。例如,它可以用在游戏开发中;电影中的3D渲染也会用到Python语言;互联网中Python语言的声音更是无处不在,谷歌、豆瓣和知乎等网站都是使用Python语言搭建。Python语言是著名的Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。Guido van Rossum从2005年开始就只于谷歌公司,在谷歌以及编程社区的大力支持下,Python也迎来了大发展。2、启动Python 3、Python开发环境(二)编程初体验我的第一个Python程序chengxu1.py代码: import turtle #调用turtle模块 a1=tur
3、tle.Turtle() #窗口中显示一只海龟,并给他命名为“a1”关于程序的书写:Python语言是区分大小写的,比如此处的Turtle()中的T要大写;Python语言中的字母和符号只能是半角英文符号;(三)实践与思考1、把a1.shape()语句添加在chengxu1.py程序的后面:提示:请你每次在中输入以下不同的内容:square、circle、arrow、turtle,然后,保存并运行程序,观察每次的运行结果。 说一说,shape()的作用。 语句 显示结果 shape(turtle) shape(arrow) shape(circle) shape(square) 2、把a1.c
4、olor()语句添加在chengxu1.py程序的后面:提示:请你每次在中输入以下不同的内容:red、green、blue,然后,保存并运行程序,观察每次的运行结果。 试一试:除了red、green、blue,其他颜色能不能用? 说一说,color()的作用。 语句 显示结果 color(red) color(green) color(blue) 第二节 选择编程语言(3课时)第1课时 控制“海龟”移动一、教学目标1、学会用函数控制海龟运动;2、掌握几个函数及参数的设置:forward()、speed()、write();3、了解程序的三种结构之一顺序结构。二、重点难点教学重点:函数forwa
5、rd()、speed()、write()教学难点:顺序结构编程及简单应用。三、教学过程(一)函数forward()格式:forward(参数)功能:向前移动(这里的“向前指的是箭头指示的方向”) 例如:forward(100) #向前移动100个像素(二)函数speed()格式:speed(参数)功能:设定速度例如:speed(slowest) #以最慢的速度不同参数的speed() 功能 speed(slowest) 最慢 speed(slow) 慢速 speed(normal) 正常速度(系统默认值) speed(fast) 快速 speed(fastest) 最快 (三)函数write(
6、) 格式:write(参数1,参数2) 功能:在屏幕上显示文字 例如:write(起步,font=(黑体,16) #屏幕上显示黑体16号的“起步”两个字。(四)程序1海龟的简单移动import turtlea=turtle.Turtle()a.forward(100)程序解释:forward(100)海龟向前移动100个像素(这里的“向前指的是箭头指示的方向”)(五)程序2海龟的多样运动(六)实践与思考结合两节课学过的知识,修改程序2,使之实现如下功能:提示: color()函数设置颜色 write()函数设置字体字号 第2课时 控制“海龟”移动一、教学目标1、了解常量、变量、表达式、赋值;2
7、、掌握变量的命名、表达式的组成;3、掌握函数Shape()、left()、type()及其参数的设置。二、重点难点教学重点:常量、变量、表达式、赋值教学难点:给变量赋值。三、教学过程(一)常量常量就是不变的值,主要由数值型常量和字符串常量。字符串常量是用引号括起来的字符串。例如:数值型常量100、3.14159字符值常量slowest、起步(二)变量变量是指在程序运行过程中,其值可以改变的量。变量是内存中存放数据的存储单元,存放的数据叫变量的值,给存储单元的命名叫变量名。变量名的命名规则,必须是以字母或中文开头,后面可以有字母、中文或数字。正确的变量名,例如:小红1、pi、a、x2(三)表达式
8、表达式是程序中能计算出值的式子。“值”的含义是广泛的,比如:真假、字符串都是值,turtle.Turtle()的值则是一个海龟对象。以下都是表达式:判断原因是否是表达式 1+1 值是2 是 12 值是假 是3 是常量,值是3 是a1 是变量,有值 是turtle.Turtle() 值是一个海龟对象 是 3/2 值是1.5 是小黑.forward(100) 值是运动距离100像素 是This is a book 字符串是常量 是 pi*r*r pi和r是变量,计算结果是数值 是a+b 结果是字符串ab 是小黑 是变量 是(四)赋值 1、什么是赋值赋值就是给变量赋予一个值。因为变量其实是内存中的存
9、储单元,所以其中存储的数据是可以变化的。 2、赋值语句用赋值语句,可以给变量赋值。赋值语句的书写格式:变量=表达式例如:n=1 #把1赋予变量n,执行后n的值为1n=n+1 #把n+1的结果计算出来后,赋值给n,则n的值增加1a1=turtle.Turtle()3、变量的特点变量是变化的,存储的是最新的值。4、变量的数据类型Python中的每一个“值”都有其自身的类型,如:字符串是字符型、真假是布尔型、可计算的数是数值型。不同数据类型的值之间是不应该进行运算的,比如word+1是错的。但是,可以将一个类型的值转换为另一个类型,这需要用到一些类型转换函数。函数 说明 int() 把数字字符串转换
10、成整数,int(2)得到整数2 float() 把整数和字符串转换成实数,float(5)得到5.0 ,float(5)得到5.0 str() 把数字转换成字符,str(5)得到5 type() 查看值的类型 试一试:你可以输入下面的语句,然后运行程序,观察调试窗口的结果显示。print(int(2)+2) #结果为4print(I am +str(5)+ years old.) #结果为I am 5 years old.print(type(Marry) #结果是Marry的数据类型为字符型print(type(100)# 结果是100的数据类型为整型(五)程序1变化的变量a=1b=2pri
11、nt(a,b) #1 2a=b #让a得到b的值,所以,此语句执行后,a和b的值都是2print(a,b) #2 1(六)程序2第2只海龟(七)实践与思考编程实现3个变量的值的交换:例如:开始时a=1,b=2,c=3,程序执行后使得,a=2,b=3,c=1。编程思路为:第3课时 绘制正方形一、教学目标1、学会使用left()命令,完成绘制正方形程序,进一步体会程序的顺序结构;2、综合运用所学,尝试自己编写程序。二、重点难点教学重点:left()命令教学难点:尝试用算法分析和解决生活中的问题。三、教学过程(一)left()命令left()函数的功能:按逆时针旋转一个角度。(二)程序1海龟向左转(
12、三)程序2绘制正方形设计思路:海龟前行左转前行左转前行左转前行左转程序说明:程序自上而下,依次执行每一条语句,就是程序的顺序结构。绘制正方形程序中语句a.foward(100)和a.left(90)依次重复执行了4次,这种繁琐的不必要的设计,我们将在下节课中得到解决。试一试:去掉最后一条语句a.left(90),结果会怎样?(四)实践与思考1、修改绘制正方形程序,使之可以让不同边长的正方形绘制起来更容易。提示:用一个变量(上节课所学)代替边长1002、在绘制正方形程序基础上修改程序,尝试绘制一个正五边形,或其他正多边形都可以,如下图所示。提示:应该怎样控制left()的角度?第三节 简化重复命
13、令(3课时)第1课时 绘制多个旋转的正方形一、教学目标1、认识程序的循环结构;掌握for循环;2、实现绘制多个正方形程序。二、重点难点教学重点:for循环教学难点:嵌套循环三、教学过程(一)程序1改进绘制正方形程序,认识循环import turtlea=turtle.Turtle()a.forward(100) a.left(90) a.forward(100) a.left(90) a.forward(100)a.left(90) a.forward(100)a.left(90)比较,改进为import turtlea=turtle.Turtle()for i in range(4): a.
14、forward(100) a.left(90) 循环语句格式:for 循环变量 in range(次数): 循环语句块功能:循环语句块中的所有语句将被重复执行指定次数。说明:1、循环次数由range(次数)决定,range(次数)得到一组从0到n-1的整数,即循环语句块被循环执行n次。2、循环语句块中可以有一条或多条语句,这些语句都是要被重复执行的。3、循环可以嵌套,如:说明:内循环作为外循环的循环语句块,被重复执行n次;而内循环本身也要重复执行m次。(二)程序2绘制多个旋转的正方形import turtlea=turtle.Turtle()for i in range(10):a.forwa
15、rd(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 turtlea=turtle.Turtle()for i in range(10): for j in range(4): a.forward(100) a.left(90) a.forward(20) a.right(360/10)分析:Import turtlea=turtle.Turtle()for i in range(10)
16、:I循环体重复10次画10个正方形J循环体重复4次画一个正方形for j in range(4): a.forward(50) a.left(90)a.forward(20)a.right(360/10)第2课时 幻影海龟一、教学目标1、掌握while循环;2、会调用random模块获得随机整数randint()。3、知道up()、stamp()、goto()函数的作用二、重点难点教学重点:掌握while循环和random()随机函数教学难点:理解random()随机函数三、教学过程(一)while循环格式:while 判断条件: 循环语句块功能:条件是否为真?循环语句块假真判断条件是否为真,
17、如果条件为真,则重复执行循环语句块,直到条件为假,则退出循环。(二)random()随机函数调用随机模块:import random获得xy之间的随机整数:randint(x,y)(三)程序1幻影海龟import turtleimport randoma=turtle.Turtle()a.color(red)a.shape(turtle)a.up() #尾巴抬起,不划轨迹while 01: #无限次重复 a.goto(random.randint(-300,300),random.randint(-300,300) #让海龟移动到指定坐标位置 a.stamp() #让海龟在所在位置留下印迹(四)思考与实践1、编写程序实现如图效果,保存为zy1.py设计思路:1. 如图位置,画12条短线:用循环实现循环12次,每次画一条短线。 2. 如何画一条短线: 原点至短线起点之间,海龟移动但不能画线,需抬起画笔,用up()解决; 落笔down(),然后,画一条短线forward(); 海龟回到原点goto(0,0)。注意,回原点的过程需要抬起画笔(想一想,为什么?)。 旋转一个角度,为下一次画短线做准备。想一想:用left()还是right()? 2、编写程序实现如图效果,保存为zy2.py
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1