一、turtle库的介绍
turtle库是一个在python中的第三方库,又叫做海龟画图。
可以理解为初始坐标值在(0,0)点。
然后再代码行中键入相关的代码,来控制海龟的移动,旋转等操作。
如果想要学习python,可以先学习一下。
学习turtle库就可以很清楚的知道关于python运行的规律。
下面就开始正式的学习吧。
二、软件的配置
首先,要写代码肯定是需要环境的配置,需要运行代码的软件。
一般情况下,python不需要被编译成可执行文件后再执行。
但是,我们依然需要一个完善的软件来学习它。
这里推荐vsCode,pythonIDLE,pyCharm等,以及任意使用比较熟练一点轻量级的编译器。
pyCharm比较大,写到项目时再使用比较好。
最推荐的是pythonIDLE。
下载链接:pythonidle官网下载地址
下载好后,安装一直点击下一步就行。
三、如何使用ide
打开的页面是这样的,我们可以直接在该页面输入单行代码,然后回车以输出结果。
比如输入:`1+1`;回车后就会直接运算出正确的结果:`2`
怎么输出多行代码?
创建一个新的文件
四、导入turtle库
导入相关库需要我们使用导入关键字。
python中的关键字是 import 。
直接使用import turtle
也可以使用 import turtle as t
两者之间的区别是,上面导入后,使用时需要使用turtle,后者使用时可以直接使用t。
五、介绍相关方法
- Pen()
pen = turtle.Pen()
# 使用变量将pen中的Pen()存储,方便后续调用
- goto()
pen.goto(100,100)
# 使用goto(),将画笔从(0,0)移动到对应的(x,y),goto()有两个参数,分别是停止的x坐标和y坐标。
# 相当于拿直尺把(0,0)和(x,y)连接在一起。
- circle()
pen.circle(100,360)
# circle()可以画圆,参数有两个,第一个参数是圆的半径,第二个参数是圆的角度。
# 圆的初始画图位置是从圆的最下面开始进行画图的。
- pensize()
pen.pensize(12)
# pensize()是画笔的粗细,只有一个参数,就是笔触大小。
- penup()
pen.penup()
# penup()是抬笔,可以理解成我们日常生活中把笔从纸上拿起来。
- pendown()
pen.pendown()
# pendown()是落笔,相当于我们日常生活中把笔从空中放到笔上开始写字。
- shape()
pen.shape("turtle")
# shape()是让画笔的形状改变成需要的参数,默认是triangle,一个三角符号
# shape的参数是固定的,使用时需要使用""引用起来
# 参数如下:
# ‘arrow’、‘turtle’、‘circle’、‘square’、‘triangle’、‘classic’
- hideturtle()
pen.hideturtle()
# hideturtle()的作用是隐藏画笔的形状,默认不隐藏
- forward()
pen.forward(100)
# forward()跟goto()很相像,都是画直线的手段,参数只有一个,直线的长度
# goto是以原点到坐标点之间的直线
# forward是以画笔所在位置向画笔朝向方向前进一段距离
- backward()
pen.backward(100)
# backward()跟forward的参数,使用方法以及概念都是一样的
# 区别是backward的前进方向跟画笔的方向是相反的
- left()
pen.left(350)
# left()是画笔的方向向左旋转也就是逆时针旋转参数的弧度
# 它的参数是弧度,大于0的一个实数,建议范围是0-360之间
- right()
pen.right(350)
# right()是画笔的方向向右旋转也就是顺时针旋转参数的弧度
# 它的参数是弧度,大于0的一个实数,建议范围是0-360之间
- fillcolor()
pen.fillcolor("red")
# fillcorlor()改变填充颜色,默认是黑色
# 参数是一个颜色的单词,用""引起来
# 参考参数有'red','yellow','green','blue'等
- begin_fill()
pen.begin_fill()
# begin_fill()是开始填充颜色,没有参数
- end_fill()
pen.end_fill()
# end_fill()是结束填充颜色,没有参数
# 和begin_fill()一起进行联动,begin和end之间会写一个封闭的图形
- setup()
turtle.setup(300,400,250,250)
# setup是用来设置弹出画布窗口的尺寸以及位置
# 第一个和第二个参数是窗口大小
# 第三个和第四个参数是窗口的位置,参考点(0,0)是电脑窗口左上角
# 单位都是 px (像素)
- write()
turtle.write("this is text!!",font=("微软雅黑",32))
# write()是画笔的文本输入,可以实现在画布上面用文本写字
# 有两个参数分别是写入的文本,文本样式(字体样式,大小)
# 文本样式不可以随便乱写,必须的是电脑中存储的已有字体
- textinput()
turtle.textinput('标题','请输入你要写的字体')
# textinput()是弹出来一个对话可输入窗口,一般配合变量使用
# 参数有两个,分别是弹出窗口名,和输入窗口提示语句
- setheading()
turtle.setheading(90)
# 改变画笔朝向方向,跟right和left功能相似,参考系不相同
# setheading的参考系是以画布的坐标为参考的,固定角度
- reset()
turtle.reset()
# reset 可以理解为重置画布,并将画笔放到原来的位置
六、简单理论题及答案
试题一:关于相关方法1-6
- 画一个直径为100的圆的turtle语句是________________。
- 抬笔的turtle语句是________________。
- 落笔的turtle语句是________________。
- 导入海龟库________________。
- 移动画笔到(100,100):________________。
答案:
1. turtle.Pen().circle(50) 或者 pen.circle(50)
2. turtle.Pen().penup() 或者 pen.penup()
3. turtle.Pen().pendown() 或者 pen.pendown()
4. import turtle
5. turtle.Pen().goto(100,100) 或者 pen.goto(100,100)
试题二:关于相关方法7-15
- 召唤海龟的语句是________________。
- 画半圆的语句是________________。
- 画笔方向左转的语句是________________。
- 画笔前进的语句是________________。
- 填充颜色的语句是________________。
答案
1. pen.shape("turtle") 或者 turtle.Pen().shape("turtle")
2. pen.circle(64,180) 或者 turtle.Pen().circle(64,180)
3. pen.left(90) 或者 turtle.Pen().left(90)
4. pen.forward(128) 或者 turtle.Pen().forward(128)
5. pen.fillcolor("green") 或者 turtle.Pen().fillcolor("green")
试题三:关于相关方法16-20
- 设置窗口的位置和大小________________。
- 重置画布________________。
- 调整画笔颜色________________。
- 改变海龟前进方向________________。
答案
- turtle.setup()
- turtle.reset()
- turtle.color()
- turtle.setheading()
七、简单编程题及其答案
1. 奥运五环
图示如下:
参考代码如下:
# 导入 turtle库
import turtle
# 将Pen() 里面的所有的方法函数赋值给变量 p ,调用时不需要再次调用
p = turtle.Pen()
# 设置笔的宽度为 12 px
p.pensize(12)
# 环的本质就是一个圆圈,奥运五环就是五个带颜色带坐标的圆圈
# 第一个蓝色的,代表欧洲
p.color("blue")
# 圆的第二个参数不写就默认为360
p.circle(64)
# 画好一个圆圈后,需要抬笔
p.penup()
# 画下一个圆圈时需要计算新的圆圈的坐标
p.goto(140,0)
p.color("black")
# 由于先前画完上一个圆圈后,抬笔了,所以需要执行一下落笔操作
p.pendown()
p.circle(64)
p.penup()
# 后面的代码依此类推
p.goto(280,0)
p.color("red")
p.pendown()
p.circle(64)
p.penup()
p.goto(64,-64)
p.color("yellow")
p.pendown()
p.circle(64)
p.penup()
p.goto(204,-64)
p.color("green")
p.pendown()
p.circle(64)
p.penup()
2. 画五星红旗
图示如下:
参考代码如下:
import turtle as t
text = t.textinput('画国旗','写给祖国母亲的话')
t.color('red')
#画红旗四边
t.begin_fill()
t.forward(300)
t.right(90)
t.forward(200)
t.right(90)
t.forward(300)
t.right(90)
t.forward(200)
t.right(90)
t.end_fill()
#画大五角星
t.goto(30,-60)
t.color('yellow')
t.begin_fill()
for i in range(5):
t.forward(50)
t.right(144)
t.end_fill()
#画小五角星
t.seth(60)
t.penup()
t.goto(80,-30)
t.pendown()
t.begin_fill()
for i in range(5):
t.forward(12)
t.right(144)
t.end_fill()
#第二个五角星
t.seth(30)
t.penup()
t.goto(100,-50)
t.pendown()
t.begin_fill()
for i in range(5):
t.forward(12)
t.right(144)
t.end_fill()
t.seth(0)
t.penup()
t.goto(100,-75)
t.pendown()
t.begin_fill()
for i in range(5):
t.forward(12)
t.right(144)
t.end_fill()
t.seth(-60)
t.penup()
t.goto(80,-100)
t.pendown()
t.begin_fill()
for i in range(5):
t.forward(12)
t.right(144)
t.end_fill()
t.penup()
t.goto(-50,100)
t.pendown()
t.color('red')
t.write(text,font=('黑体',40))
t.hideturtle()
3. 画西瓜
图示如下:
参考代码如下:
import turtle
p = turtle.Pen()
# 改变画笔颜色,填充颜色为红色
p.color("red")
p.fillcolor("red")
# 西瓜的红壤
p.begin_fill()
# 画两条直线加一段弧度构成一个西瓜,并将这个图形变成红色
p.left(45)
p.forward(100)
p.right(90)
p.forward(100)
p.left(90)
p.circle(100,-90)
p.end_fill()
# 西瓜的绿皮
# 加粗画笔,改变画笔的颜色为绿色
p.color("green")
p.pensize(16)
p.circle(100,90)
# 西瓜的黑子,以一段长度为2px的小点,坐标自定义
p.color("black")
p.pensize(12)
p.penup()
p.goto(55,20)
p.pendown()
p.forward(2)
p.penup()
p.goto(75,30)
p.pendown()
p.forward(2)
p.penup()
p.goto(65,10)
p.pendown()
p.forward(2)
谢谢观阅!!!
更新结束 2023 11 5