初中信息技术python海龟绘图专题

资源下载
  1. 二一教育资源

初中信息技术python海龟绘图专题

资源简介

(共11张PPT)
冒险起航—创意图形与设计
游戏狂欢—动画与游戏制作
乐趣启程—认识Turtle与绘制基本图形
乐趣启程—认识Turtle与绘制基本图形
展示与分享—小乌龟的成就秀
海 龟 画 图
0
2
CONTENTS
1
实 例 演 示
demonstrations
实例演示
同 学 们 再 见 !
0乐
90
云盟
2到
2014038女
20沙
20140318安
全部狂务
吏多测试集合选捐
040318安女
90到
00318交女
204038安
2
2014038安女
I
l
222.WAV
I
全部任务
吏多测试集合选捐
o
芊指奇锋
Lilbili
干锋教育
www.mobiletrain.org
玛克创客
bilibili
600
e
模拟3D星空

×
日k
n

,*2m)
0
osfw物Gn%a
Python Turte Graphics
Python Turtle Graphics

X




。小乌龟的奇幻世界
第1课时认识python(让学生用思雌导图形式画
出自己想绘制的图形)
·第2课时画笔跳动
一第3课时绘制正方形
第一单元
D童趣绘画一创意无限一
一第4课时颜色搭配
乐趣启程一认识Turtle.与绘制基本图形
第5课时五角星—五星红旗
第6课时笑脸一盾牌
。童趣写字字体艺术大作战一第7课时绘制中国福字
创意风暴独特图案设计一第8课时我的房子、长城棒棒糖等
⊙奇幻图形一创億无限一第9课时变化之美循环之美
第二单元
魔幻图形-基本动态效果一第10课时发现和发明分形霜
小辰的奇幻世界探险记
冒险起航一创意图形与设计
第11课时万花筒
。炫彩图形-复杂动态效果
第12时24节汽
。交互式动画一互动无限一一第14课时点击屏幕事件(随机散落的铜钱)
第三单元
游戏狂欢一动画与游戏制作
。小游戏制作一创意游戏设计一第15课时数字游戏制作
国创意风暴独特游戏设计一第16课时制作计算器
第四大单元
分享与展示
展示与分享一小乌龟的成就秀
创意风暴想象无极限
第13课时制作计算器(共30张PPT)
画 笔 跳 动
0
2
CONTENTS
1
实 例 演 示
demonstrations
实例演示
problems
问题引入
小海龟是怎么画出不连续的线段的?
海龟先直走;然后抬笔,再直走;落笔,直走,重复几次就可以形成了不连续线段(虚线)
problems
问题引入
小海龟怎么画汉字“十”呢?
海龟先直走40px;然后后退一半,左转90度,直走20px,后退40px.
0
2
CONTENTS
2
思 维 构 建
constructs of
thought
思维建构
前行20步
前行20步
抬笔
落笔
constructs of
thought
思维建构
前行40步
左转90度
后退20步
前行20步
后退40步
0
2
CONTENTS
3
编 学 边 练
Computer English
计算机英语
up
向 上
down
向 下
left
左 转
backward
后 退
小海龟抬笔
1
三维世界里很容易就可以跳起来,怎么让小海龟在二维的世界里跳起来呢?
超级简单的!只要告诉小海龟”向上“就可以啦!up! up ! up!
turtle.up()
海龟工具
向上(抬笔)
小海龟抬笔
1
在二维的世界里看不到它动啦,绘画的时候要记得他的状态。
turtle.down()
海龟工具
向下(落笔)
小海龟落笔
2
抬笔和落笔使用的方法相似哦,但是关键字用了不同的;
小海龟后退
3
我们学过让小海龟前进,那怎么让小海龟倒退呢?
让小海龟倒退的方法有很多,例如用前进配合“负数”就可以啦!
除了这种方法,还可以用哪种方法呢?
小海龟后退
3
turtle.forward(-100)
向 前
“-”是什么意思呢?
我要后退喽
小海龟后退
3
我的小房子里的温度是-10度,好冷呀~
小海龟后退
3
turtle.backward(100)
向 后
距离:100px
我要后退喽
还可以使用turtle中自带的工具
小海龟后退
3
backward(100)
实现一个功能有多种方法呢!
forward(-100)
小海龟左转
4
turtle.left(90)
左 转
角度:90°
我要转弯喽
角度可不可以用负数呢?
效果是什么样呢?
0
2
CONTENTS
4
小 码 当 家
海龟画虚线
1
要求:
通过抬笔(up)与落笔(down)以及其他方法组合,让海龟画一个虚线图像
参考代码
1
turtle.forward(20)
turtle.up()
turtle.forward(20)
turtle.down()
turtle.forward(20)
turtle.up()
turtle.forward(20)
turtle.down()
海龟画“十”字形
2
要求:
通过后退(backward)与左转(left)及其他模块的组合,让海龟画一个“十”字形,边长为40px
参考代码
2
turtle.down()
turtle.forward(40)
turtle.backward(20)
turtle.left(90)
turtle.forward(20)
turtle.backward(40)
0
2
CONTENTS
4
小 码 秀 秀
第 一 题
让海龟跳跃,下面代码正确的是:
A. turtle,up()
B. turtle.jump()
C. turtle.up()
D. turt1e.up()
第 二 题
海龟想要倒退100px,请问它有什么办法呢:
A. turtle.forward(-100)
B.turtle.forward(100)
C. turtle.backward(100)
D. turtle.backward(-100)
课 堂 总 结
本次课所学英文单词
up向上
down向下
turtle.backward()后退
本次课所学编程知识
backward后退
turtle.down()落笔
turtle.left()向左转
left向左
turtle.up()抬笔
课 后 作 业
要求:
通过正三角形和正方形的组合可以造成一个小房子,要求房底是虚线做成的,正三角形和正方形的长度为100px;
画虚线小房子
同 学 们 再 见 !(共24张PPT)
不同形状的图形
海龟(画笔)形状
回顾
1
backward(100)
实现一个功能有多种方法呢!
forward(-100)
回顾
1
turtle.left(90)
左 转
角度:90°
我要转弯喽
角度可不可以用负数呢?
效果是什么样呢?
2
2
CONTENTS
1
实 例 演 示
demonstrations
实例演示
problems
问题引入
小海龟是怎么画出不同形状的?
形状不同,边与边的外角也不同,根据画笔的外角旋转度数完成图形绘制。
0
2
CONTENTS
2
思 维 构 建
constructs of
thought
思维建构
前行20步
前行20步
旋转
旋转
...
2
2
CONTENTS
3
编 学 边 练
旋转度数:360/n(多边形的边数)
多边形旋转度数:
Computer English
计算机英语
up
向 上
down
向 下
left
左 转
backward
后 退
Computer English
计算机英语
circle
圆形
shape
形状
"arrow" - 箭头
"turtle" - 海龟
"circle" - 圆圈
"square" - 正方形
"triangle" - 三角形
画笔形状
turtle.shape(“形状”)
海龟工具
小海龟形状
3
在二维的世界里看不到它动啦,绘画的时候要记得他的状态。
turtle.forward(距离)
海龟工具
向前移动的距离
小海龟指令
4
需要具体写出距离是多少,用数字代替
turtle.circle(圆的半径)
海龟工具
圆的半径
小海龟指令
4
需要具体写出距离是多少,用数字代替
5
2
CONTENTS
4
小 码 当 家
海龟画“十”字形
2
要求:
通过后退(backward)与左转(left)及其他模块的组合,让海龟画一个“十”字形,边长为40px
要求:
1.绘制左边这些图形
2.可以修改画笔形状
0
2
CONTENTS
4
小 码 秀 秀
第 一 题
让海龟跳跃,下面代码正确的是:
A. turtle,up()
B. turtle.jump()
C. turtle.up()
D. turt1e.up()
第 二 题
海龟想要倒退100px,请问它有什么办法呢:
A. turtle.forward(-100)
B.turtle.forward(100)
C. turtle.backward(100)
D. turtle.backward(-100)
课 堂 总 结
本次课所学英文单词
circle圆形
shape形状
turtle.circle()画圆
本次课所学编程知识
backward后退
turtle.down()落笔
turtle.left()向左转
left向左
turtle.shape()形状
课 后 作 业
要求:
通过正三角形和正方形的组合可以造成一个小房子,要求房底是虚线做成的,正三角形和正方形的长度为100px;
画虚线小房子
同 学 们 再 见 !(共21张PPT)
颜色搭配
绘制五星
0
2
CONTENTS
1
实 例 演 示
demonstrations
实例演示
0
2
CONTENTS
2
思 维 构 建
constructs of
thought
思维建构
前行140步
前行140步
左转144度
左转144度
..........
0
2
CONTENTS
3
编 学 边 练
problems
问题引入
小海龟是怎么画出不连续的线段的?
海龟先直走;然后抬笔,再直走;落笔,直走,重复几次就可以形成了不连续线段(虚线)
Computer English
计算机英语
pencolor
画笔颜色
画笔粗细
fillcolor()
pensize
填充颜色
begin_fill()
开始填充
结束填充
end_fill()
hideturtle
隐藏画笔
Computer English
计算机英语
setup(width=900,height=600)#设置画布大小
speed(10) #速度值是1-10逐渐变快;0对应的速度最慢
goto(x,y)控制笔移动到指定位置(坐标原点在画布的中心)
turtle.pencolor(“颜色”)
海龟工具
具体颜色
小海龟颜色
1
在二维的世界里看不到它动啦,绘画的时候要记得他的状态。
turtle.pensize(大小)
海龟工具
具体数字
小海龟大小
1
直接用具体数字表示
turtle.fillcolor(“填充颜色”)
海龟工具
小海龟填充颜色
1
注意颜色需要加上引号
turtle.fillcolor(“填充颜色”)
海龟工具
小海龟填充颜色
1
fillcolor( )
begin_fill( )
...中间是画的图形
end_fill( )
三者需要一起使用
0
2
CONTENTS
4
小 码 当 家
要求:
1.绘制任意两种图形
2.填充颜色
3.添加背景色
4.不能上交正方形
0
2
CONTENTS
4
小 码 秀 秀
第 一 题
让海龟填充绿色,下面代码正确的是:
A. turtle,red()
B. turtle.green()
C. turtle.fillcolor(“green”)
D. turt1e.up()
第 二 题
海龟想要填充红色,请问它有什么办法呢:
A. turtle.fillcolor(“red”)
B.turtle.pensize(100)
C. turtle.backward(100)
D. turtle.backward(-100)
课 堂 总 结
本次课所学英文单词
pencolor画笔颜色
pensize画笔粗细
turtle.fillcolor()填充颜色
本次课所学编程知识
fillcolor()填充颜色
turtle.pensize()画笔粗细
begin_fill() end_fill()
turtle.pencolor()画笔颜色
课 后 作 业
要求:
通过正三角形和正方形的组合可以造成一个小房子,要求房底是虚线做成的,正三角形和正方形的长度为100px,在上一节课的基础上加上颜色;
画虚线小房子
同 学 们 再 见 !(共5张PPT)
笑脸、太极图
巩固goto( )和颜色填充
problems
问题引入
小海龟是怎么画出不连续的线段的?
海龟先直走;然后抬笔,再直走;落笔,直走,重复几次就可以形成了不连续线段(虚线)
0
2
CONTENTS
1
实 例 演 示
要求:
1.绘制笑脸或八卦图形
2.填充颜色
3.添加背景色
4.不能上交正方形
同 学 们 再 见 !
0乐
90
云盟
2到
2014038女
20沙
20140318安
全部狂务
吏多测试集合选捐
040318安女
90到
00318交女
204038安
2
2014038安女
I
l
222.WAV
I
全部任务
吏多测试集合选捐

turtle模块常用命令方法:
画笔向前移动
forward(长度)
修改画笔朝向.
setheading(角度)
颜色参考:
画笔向右旋转.…right(度数)
修改画布背景色…bgcolor(”颜色”)
>
black黑色
画笔向左旋转.left(度数)
设置x,y坐标…got0(x轴坐标,y轴坐标)
>
blue蓝色
画笔速度……
speed(速度)
改变x轴坐标·
setx(x轴坐标)
>
green绿色
画圆环.circle(半径)
>
purple紫色
画布大小设置).screensize(宽,高,‘颜色’)
>yellow黄色
>red红色
画笔粗细。
…pensize(数值)
>
pink粉红色
画笔颜色.pencolor(‘颜色’)
300
>
orange橙黄色
填空颜色.…
fillcolor(‘颜色’)
200
停止画笔.turtle.done()
100
(00)
开始填充.begin_fill()
示指令
●●0
X
结束填充…。
...........end fill)
-200-100
100200
.100
抬笔…penup()

落笔…pendown()
括号里面无参数
.200
回原点
home (
300
师手型间(共5张PPT)
自由创编
problems
问题引入
小海龟是怎么画出不连续的线段的?
海龟先直走;然后抬笔,再直走;落笔,直走,重复几次就可以形成了不连续线段(虚线)
要求:
1.绘制笑脸或八卦图形
2.填充颜色
3.添加背景色
4.不能上交正方形
同 学 们 再 见 !
0乐
90
云盟
2到
2014038女
20沙
20140318安
全部狂务
吏多测试集合选捐
040318安女
90到
00318交女
204038安
2
2014038安女
I
l
222.WAV
I
全部任务
吏多测试集合选捐

turtle模块常用命令方法:
画笔向前移动
forward(长度)
修改画笔朝向.
setheading(角度)
颜色参考:
画笔向右旋转.…right(度数)
修改画布背景色…bgcolor(”颜色”)
>
black黑色
画笔向左旋转.left(度数)
设置x,y坐标…got0(x轴坐标,y轴坐标)
>
blue蓝色
画笔速度……
speed(速度)
改变x轴坐标·
setx(x轴坐标)
>
green绿色
画圆环.circle(半径)
>
purple紫色
画布大小设置).screensize(宽,高,‘颜色’)
>yellow黄色
>red红色
画笔粗细。
…pensize(数值)
>
pink粉红色
画笔颜色.pencolor(‘颜色’)
300
>
orange橙黄色
填空颜色.…
fillcolor(‘颜色’)
200
停止画笔.turtle.done()
100
(00)
开始填充.begin_fill()
示指令
●●0
X
结束填充…。
...........end fill)
-200-100
100200
.100
抬笔…penup()

落笔…pendown()
括号里面无参数
.200
回原点
home (
300
Hi





P(共30张PPT)
初 遇 变 量
循环之美
problems
问题引入
小海龟是怎么画出不连续的线段的?
海龟先直走;然后抬笔,再直走;落笔,直走,重复几次就可以形成了不连续线段(虚线)
0
2
CONTENTS
1
实 例 演 示
demonstrations
实例演示
problems
问题引入
实例演示中的三个正方形有什么规律?
每一条边都比前一条边长一些
(边长变化)
0
2
CONTENTS
2
思 维 构 建
constructs of
thought
思维建构
通过观察规律我们知道了
每次画正方形都要改变一 下边长
constructs of thought
思维建构
创建变量
改变变量
循环
前进、转弯
0
2
CONTENTS
3
编 学 边 练
Computer English
计算机英语
length
长度
angle
角度
认识变量
1
那程序中的变量是怎么创建的?
在python中变量的创建是比较简单的,直接创建变量就可以了!
length=40
变量名
赋给变量的值
新建变量
2
变量名的命名是有规 则的,不可以随便取 名字!
赋值符号
变量名只能包括字母、数字、下划线
但是数字不能做为开头(python3可以用中文命名)
变量名是区分大小写的
关键字不能做变量名使用
变量的命名规则
3
length=80
变量名
重新赋值
重新赋值
4
赋值符号
length=length+80
新的变量
运算符号
变量运算
5
原本变量
变量除了重新赋值,还可以进行运算。
认识for循环
1
重复循环多次怎么表示?
#重复执行3次
冒号不能少
for i in range(3):
forward(100)
right(90)
认识for循环
2
for i in range(4) : #准备循环,共4次
forward(100)#前进100个像素
right(90) #右转90度
1.冒号不能省
2.缩进的两行,是重复的内容
0
2
CONTENTS
4
小 码 当 家
参考代码
1
import turtle
length = 6
for i in range(10):
turtle.forward(length)
turtle.right(90)
length = length+2
turtle.done()
0
2
CONTENTS
5
小 码 秀 秀
第 一 题
下列创建变量合法的是:
A. 100=length
B. 2length=100
C.angle=180
D. 学生分数=100
第 一 题
变量的命名要求正确的是:
A. 可以使用字母、数字、下划线
B.数字不可以做开头
C.变量名要”见名知意”
D. 以上都是
课 堂 总 结
本次课所学英文单词
length长度
angle角度
变量的创建方法,使用方法
本次课所学编程知识
变量的命名规则
变量的重新赋值与变量运算
海龟画分形
1
# 海龟画扇子
import turtle # 导入 turtle 库
turtle.bgcolor("teal") # 设置背景颜色为teal
turtle.pencolor("khaki")
turtle.speed(0)
turtle.left(15)
#绘制扇子
for i in range(150):
turtle.forward(200)
turtle.backward(200)
turtle.left(1)
turtle.home() # 让海龟回到原点
#加入文字
turtle.penup()
turtle.right(90)
turtle.forward(70) # 海龟前进70步
turtle.pendown()
turtle.write("分明一夜文姬梦,只有青团扇子知。",font=("隶书",16)) # 海龟书写文本
turtle.hideturtle() # 隐藏藏海
# 单色螺旋文字
import turtle # 导入turtle库
turtle.bgcolor("black") # 设置背景颜色为black
turtle.pencolor("green") # 设置画笔颜色为green
turtle.speed(0) # 将绘图速度设置为0,加快绘图速度
#开始绘制
for i in range(1,100): # 使用循环控制绘制螺旋文字的次数。
turtle.penup()
turtle.forward(i*5)
turtle.pendown()
turtle.write("爬行者")
turtle.left(92)
turtle.hideturtle() # 隐藏海龟
课 后 作 业
要求:创建一个角度变量,一个长度变量, 画两个六边形,
第一个六边形边长要求40, 第二个六边形边长要求80
使用变量画六边形
同 学 们 再 见 !(共32张PPT)
# 海龟画扇子
import turtle # 导入 turtle 库
turtle.bgcolor("teal") # 设置背景颜色为teal
turtle.pencolor("khaki")
turtle.speed(0)
turtle.left(15)
#绘制扇子
for i in range(150):
turtle.forward(200)
turtle.backward(200)
turtle.left(1)
turtle.home() # 让海龟回到原点
#加入文字
turtle.penup()
turtle.right(90)
turtle.forward(70) # 海龟前进70步
turtle.pendown()
turtle.write("分明一夜文姬梦,只有青团扇子知。",font=("隶书",16)) # 海龟书写文本
turtle.hideturtle() # 隐藏藏海
# 单色螺旋文字
import turtle # 导入turtle库
turtle.bgcolor("black") # 设置背景颜色为black
turtle.pencolor("green") # 设置画笔颜色为green
turtle.speed(0) # 将绘图速度设置为0,加快绘图速度
#开始绘制
for i in range(1,100): # 使用循环控制绘制螺旋文字的次数。
turtle.penup()
turtle.forward(i*5)
turtle.pendown()
turtle.write("爬行者")
turtle.left(92)
turtle.hideturtle() # 隐藏海龟
五彩线图
列表
0
2
CONTENTS
1
指令记忆
problems
问题引入
小海龟是怎么画出不连续的线段的?
海龟先直走;然后抬笔,再直走;落笔,直走,重复几次就可以形成了不连续线段(虚线)
0
2
CONTENTS
2
实 例 演 示
# 【多边形螺旋线】 案例1
import turtle # 导入turtle 库
turtle.bgcolor('black') # 设置背景颜色为black
turtle.pensize(2)
# 设置画笔的粗细为2
turtle.speed(0) # 设置海龟的绘图速度为0,最快
turtle.delay(0) # 海龟绘图延迟时间设置为0,绘图速度最快
sides=4 # 定义变量sides,表示多边形的边数
colors=['red','green','yellow','blue','orange','purple'] # 创建颜色列表colors,其中包含6种颜色,
# 所以边长sides最好不要超过6,
# 如果边长超过6,建议再往颜色列表中添加其他颜色。
# 如此,才可确保每一条边都使用不同的颜色。
for x in range(400): # 循环体要执行400次。变量x不仅控制循环次数,还要控制取色和步长。x将遍历0~399范围中的每一个数字。
turtle.pencolor(colors[x%sides]) # 设置画笔颜色,将遍历colors列表中的前sides种颜色。
# turtle.forward(x*3/sides+x) # 网上大家分享的类似案例中,都用到了x*3/sides+x这个公式
turtle.forward(x) # 设置海龟移动的步长为x的1.75倍,还可以尝试其他任意倍数。
turtle.left(360/sides+2) # sides=4时,向左旋转92度,还可尝试其他度数,如91°等。
turtle.hideturtle( ) # 隐藏海龟
import turtle as t
t.goto(0,0)
t.speed(0)
t.delay(0)
t.pendown()
anglelist=[30,60,90,120,150,180]
colorlist=["red","orange","yellow", "green","blue","purple"]
for i in range(180):
t.forward(i)
t.pencolor(colorlist[i%6])
t.left(anglelist[1])
problems
问题引入
视频中的螺旋图案和我们上节课画的有什么不一样的地方?
每一次画线段除了改变了长度, 还改变了线段的颜色;
每画一 段变一个颜色。
problems
问题引入
利用变量进行颜色的更改可以么?
不可以的,
一共有七种颜色,变量只可以存放一个数据,不可以存多个数据。
我们需要一个数组来进行存放颜色的数据;
constructs of thought
思维建构
初始化画笔
画螺旋图案
创建颜色数组
改变画笔颜色
0
2
CONTENTS
3
编学边练
Computer English
计算机英语
delay
推迟
list
列表
side

存放数据
列表像一列小火车,变 量像一节节车厢,每一 个车厢都可以装数据
认识列表
1
认识列表
1
colorlist=['red','orange',...]
列表名称
不同数据之间用,隔开
具体内容
列表的命名方式和变量相同;要起到见名知意的效果;
1
如何应用列表
列表中那么多的数 据,我怎么选择我 要用的?
列表中的数据位置是固定的,我们通常使用列表名加下标号去寻找数据;
1
认识列表
在colorlist=['red','orange',...] 第一个数据的下标号是0,
所以colorlist[0]代表的 就是第一个数据:red
列表中的数据是有限 的,而且要注意第一 个数据是从0开始的;
2
认识角度
我们知道每次旋转71度会产生螺旋形状;如果 度数变化会怎么样呢?
放角度的列表 角度值
anglelist=[30,60,90,120]
1
取余的认识
学习了列表感觉非常神奇,但 是有一个问题想不清楚,列表 中的数据只有7个,这7个颜色是怎样被获取的。
我们在计算机运算中有一个符
号”%“叫做取余,顾名思义最后 的结果是一个余数,我们来认识一下 这个神奇的运算能不能帮到我们;
1
取余的认识
除数
余数永远不大于除数
66 ÷ 6 = 11 余0
67 ÷ 6 = 11 余1
68 ÷ 6 = 11 余2
69 ÷ 6 = 11 余3
70 ÷ 6 = 11 余4
71 ÷ 6 = 11 余5
72 ÷ 6 = 11 余0
73 ÷ 6 = 11 余1
.....即66 % 6 = 0
.....即67 % 6 = 1
......即71 % 6 = 1
取余符号
1
取余的认识
c o l o r l i s t [ i % 6 ]
取余符号
0
2
CONTENTS
4
小 码 当 家
1
取余的认识
要求:
创建一个颜色和角度的列表, 利用取余方法结合for循环
在屏幕上画出螺旋彩色图形;
1
取余的认识
要求:
添加一个角度列表,把一些 常用的角度添加到列表区; 利用列表更改角度数据;观 察图形变化;
0
2
CONTENTS
5
小 码 秀 秀
第 一 题
下列创建列表正确的是:
A. for=[1,2,3,4,5,6,7]
B. integerlist=[1,2,3,4,5]
C. numberlist=(1,2,3,4,7)
D. numberlist=[1.2.3.4.5.6]
第 一 题
下列取余运算正确的是:
A. x=10%3
x的值是2
B. x=2%3
x的值是2
C. x=2004%3
x的值是2
D. x=2021%3
x的值是2
课 堂 总 结
本次课所学英文单词
side 边
delay推迟
列表的认识以及创建
本次课所学编程知识
认识角度
巧用取余方法循环访问列表
list列表
课 后 作 业
三角形
要求:
创建一个长度列表;
随机选择列表中的数据进行画三角形;
重复选取数据在屏幕中画三角形;
同 学 们 再 见 !(共13张PPT)

列表
0
2
CONTENTS
1
指令记忆
problems
问题引入
小海龟是怎么画出不连续的线段的?
海龟先直走;然后抬笔,再直走;落笔,直走,重复几次就可以形成了不连续线段(虚线)
0
2
CONTENTS
2
实 例 演 示
import turtle as t
t.goto(0,0)
t.speed(0)
t.delay(0)
t.pendown()
anglelist=[30,60,90,120,150,180]
colorlist=["red","orange","yellow", "green","blue","purple"]
for i in range(180):
t.forward(i)
t.pencolor(colorlist[i%6])
t.left(anglelist[1])
import turtle
turtle.speed(0)
turtle.delay(0)
# Set up the turtle screen
turtle.bgcolor("black")
turtle.title("Dynamic Design with 东辰")
# Function to draw a dynamic pattern
def draw_dynamic_pattern():
colors = ["red", "orange", "yellow", "green", "blue", "indigo", "violet"]
for _ in range(72):
turtle.pencolor(colors[_ % len(colors)])
turtle.forward(_)
turtle.right(45)
# Draw the dynamic pattern
draw_dynamic_pattern()
# Move turtle to a new position to write "东辰"
turtle.penup()
turtle.goto(-20, -50)
turtle.pendown()
turtle.color("white")
turtle.write("东辰", font=("Arial", 16, "bold"))
# Hide the turtle
turtle.hideturtle()
# Keep the window open
turtle.done()
0
2
CONTENTS
4
小 码 当 家
1
取余的认识
样例网址:http://maker./python/
同 学 们 再 见 !(共25张PPT)
随机点分布
0
2
CONTENTS
1
实例演示
problems
问题引入
演示实例中在屏幕上画的点有规律么
没有规律,再屏幕上画点的大 小和位置都没有规律,但是不 会画出到屏幕外。
0
2
CONTENTS
2
思维构建
constructs of thought
思维建构
引入随机库
随机分布范围
设置N个随机点
随机设置大小
0
2
CONTENTS
3
编学边练
Computer English
计算机英语
randint
range
范围
random
随机
int
整型
random随机库工具 和海龟工具是不同的, 所以要导入random;
引入随机库
1
import random as r
随机库名称
1
什么是随机
随机到底是什么呢? 又有什么特点呢?
像我们生活之中的抛硬 币、掷骰子、猜丁壳都 是随机事件;
但是随机也是有范围的, 像掷6点骰子不能掷出 100点。
random模块也叫”随机模块”,以下是random模块常用方法
方法 格式 说明
randint randint(开始数a,结束数b) 随机生成一个a至b之间的整数
choice choice(数据列) 随机从数据列表中抽取一个数据
shuffle shuffle(数据列) 随机打乱数据列表中的数据的顺序
2
生成随机大小的点
2
生成随机大小的点
代码随机出来的数,取得的随机数是整数
d = r.randint (1,50 )
整型
随机大小范围
放随机数的变量
2
生成随机大小的点
t . d o t ( 30 )
画点
点的大小,数值表示直径
3
随机分布
x坐标:
x = r.randint(-200,200)
x 坐标范围
y = r.randint(-150,150)
y坐标:
y 坐标范围
1
循环输出多点
for i i n r a nge ( 10 ) :
t.dot(6)
循环次数
循环内的语句要空四格(按一次tab键即可) range(10):循环10次,表示从0到10,不包含10 range(1,10):循环9次,表示从1到10,不包含10
0
2
CONTENTS
4
小 码 当 家
1
随机画点
要求:
利用随机数,for循环,结 合画点方法,在屏幕上随机 画点;
1
参考代码
import turtle as t
import random as r
for i in range(10):
d = r.randint(1,50)
x = r.randint(-200,200)
y=r.randint(-150,150)
t.penup()
t.goto(x,y) t.pendown() t.dot(d)
import turtle as t
import random
t.speed(0)
t.delay(0)
t.bgcolor("black")
def draw_colorful_star(x, y):
size = random.randint(1,3)
t.penup()
t.goto(x, y)
t.pendown()
star_colors = ["red", "orange", "yellow", "green", "blue"]
t.begin_fill()
for i in range(5):
t.color(random.choice(star_colors)) # 随机选择一种颜色
t.dot(size * 20)
t.end_fill()
for _ in range(50):
draw_colorful_star(random.randint(-300, 300), random.randint(-200, 200))
0
2
CONTENTS
5
小 码 秀 秀
第 一 题
实现循环十次,下列代码正确的是(多选):
A. for i in range (10)
for i in range (1,10)
for i in range (1,11)
for i in range (11)
第 二题
随机生成1到10之间的整数,下列代码正确的是:
A. r.randint (10)
B.r.randfloat (10)
C. r.randfloat (1,10)
D. r.randint (1,10)
课 堂 总 结
本次课所学英文单词
random随机
for 循环
t.randint(n,m)在n到m之间随机一个数
本次课所学编程知识
t.goto(x,y)移到(x,y)点
for i in range( ):循环
range 范围
int 整数
课 后 作 业
随机满天星
要求:
随机生成五角星
坐标范围:
x(-200,200),y(-150,150)
import turtle as t
import random
t.speed(0)
t.delay(0)
t.bgcolor("black")
def draw_colorful_star(x, y):
size = random.randint(1,3)
t.penup()
t.goto(x, y)
t.pendown()
star_colors = ["red", "orange", "yellow", "green", "blue"]
t.begin_fill()
for i in range(5):
t.color(random.choice(star_colors)) # 随机选择一种颜色
t.dot(size * 20)
t.end_fill()
for _ in range(50):
draw_colorful_star(random.randint(-300, 300), random.randint(-200, 200))
同 学 们 再 见 !

展开更多......

收起↑

资源列表