当前位置:   article > 正文

python——turtle库_turtle库python

turtle库python

一、turtle库的介绍

turtle库是一个在python中的第三方库,又叫做海龟画图。
可以理解为初始坐标值在(0,0)点。
然后再代码行中键入相关的代码,来控制海龟的移动,旋转等操作。
如果想要学习python,可以先学习一下。
学习turtle库就可以很清楚的知道关于python运行的规律。
下面就开始正式的学习吧。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

二、软件的配置

首先,要写代码肯定是需要环境的配置,需要运行代码的软件。
一般情况下,python不需要被编译成可执行文件后再执行。
但是,我们依然需要一个完善的软件来学习它。
这里推荐vsCode,pythonIDLE,pyCharm等,以及任意使用比较熟练一点轻量级的编译器。
pyCharm比较大,写到项目时再使用比较好。
最推荐的是pythonIDLE。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

下载链接:pythonidle官网下载地址

下载好后,安装一直点击下一步就行。
  • 1

三、如何使用ide

打开后的页面

打开的页面是这样的,我们可以直接在该页面输入单行代码,然后回车以输出结果。
比如输入:`1+1`;回车后就会直接运算出正确的结果:`2`

怎么输出多行代码?
  • 1
  • 2
  • 3
  • 4

创建一个新的文件

创建一个新的文件
  • 1

在这里插入图片描述

四、导入turtle库

导入相关库需要我们使用导入关键字。
python中的关键字是 import 。
  • 1
  • 2

直接使用import turtle
也可以使用 import turtle as t

两者之间的区别是,上面导入后,使用时需要使用turtle,后者使用时可以直接使用t。
  • 1

五、介绍相关方法

  1. Pen()
pen = turtle.Pen()
# 使用变量将pen中的Pen()存储,方便后续调用
  • 1
  • 2
  1. goto()
pen.goto(100,100)
# 使用goto(),将画笔从(0,0)移动到对应的(x,y),goto()有两个参数,分别是停止的x坐标和y坐标。
# 相当于拿直尺把(0,0)和(x,y)连接在一起。
  • 1
  • 2
  • 3
  1. circle()
pen.circle(100,360)
# circle()可以画圆,参数有两个,第一个参数是圆的半径,第二个参数是圆的角度。
# 圆的初始画图位置是从圆的最下面开始进行画图的。
  • 1
  • 2
  • 3
  1. pensize()
pen.pensize(12)
# pensize()是画笔的粗细,只有一个参数,就是笔触大小。
  • 1
  • 2
  1. penup()
pen.penup()
# penup()是抬笔,可以理解成我们日常生活中把笔从纸上拿起来。
  • 1
  • 2
  1. pendown()
pen.pendown()
# pendown()是落笔,相当于我们日常生活中把笔从空中放到笔上开始写字。
  • 1
  • 2
  1. shape()
pen.shape("turtle")
# shape()是让画笔的形状改变成需要的参数,默认是triangle,一个三角符号
# shape的参数是固定的,使用时需要使用""引用起来
# 参数如下:
# ‘arrow’、‘turtle’、‘circle’、‘square’、‘triangle’、‘classic’
  • 1
  • 2
  • 3
  • 4
  • 5
  1. hideturtle()
pen.hideturtle()
# hideturtle()的作用是隐藏画笔的形状,默认不隐藏
  • 1
  • 2
  1. forward()
pen.forward(100)
# forward()跟goto()很相像,都是画直线的手段,参数只有一个,直线的长度
# goto是以原点到坐标点之间的直线
# forward是以画笔所在位置向画笔朝向方向前进一段距离
  • 1
  • 2
  • 3
  • 4
  1. backward()
pen.backward(100)
# backward()跟forward的参数,使用方法以及概念都是一样的
# 区别是backward的前进方向跟画笔的方向是相反的
  • 1
  • 2
  • 3
  1. left()
pen.left(350)
# left()是画笔的方向向左旋转也就是逆时针旋转参数的弧度
# 它的参数是弧度,大于0的一个实数,建议范围是0-360之间
  • 1
  • 2
  • 3
  1. right()
pen.right(350)
# right()是画笔的方向向右旋转也就是顺时针旋转参数的弧度
# 它的参数是弧度,大于0的一个实数,建议范围是0-360之间
  • 1
  • 2
  • 3
  1. fillcolor()
pen.fillcolor("red")
# fillcorlor()改变填充颜色,默认是黑色
# 参数是一个颜色的单词,用""引起来
# 参考参数有'red','yellow','green','blue'等
  • 1
  • 2
  • 3
  • 4
  1. begin_fill()
pen.begin_fill()
# begin_fill()是开始填充颜色,没有参数
  • 1
  • 2
  1. end_fill()
pen.end_fill()
# end_fill()是结束填充颜色,没有参数
# 和begin_fill()一起进行联动,begin和end之间会写一个封闭的图形
  • 1
  • 2
  • 3
  1. setup()
turtle.setup(300,400,250,250)
# setup是用来设置弹出画布窗口的尺寸以及位置
# 第一个和第二个参数是窗口大小
# 第三个和第四个参数是窗口的位置,参考点(0,0)是电脑窗口左上角
# 单位都是 px (像素)
  • 1
  • 2
  • 3
  • 4
  • 5
  1. write()
turtle.write("this is text!!",font=("微软雅黑",32))
# write()是画笔的文本输入,可以实现在画布上面用文本写字
# 有两个参数分别是写入的文本,文本样式(字体样式,大小)
# 文本样式不可以随便乱写,必须的是电脑中存储的已有字体
  • 1
  • 2
  • 3
  • 4
  1. textinput()
turtle.textinput('标题','请输入你要写的字体')
# textinput()是弹出来一个对话可输入窗口,一般配合变量使用
# 参数有两个,分别是弹出窗口名,和输入窗口提示语句
  • 1
  • 2
  • 3
  1. setheading()
turtle.setheading(90)
# 改变画笔朝向方向,跟right和left功能相似,参考系不相同
# setheading的参考系是以画布的坐标为参考的,固定角度
  • 1
  • 2
  • 3
  1. reset()
turtle.reset()
# reset 可以理解为重置画布,并将画笔放到原来的位置
  • 1
  • 2

六、简单理论题及答案

试题一:关于相关方法1-6

  1. 画一个直径为100的圆的turtle语句是________________。
  2. 抬笔的turtle语句是________________。
  3. 落笔的turtle语句是________________。
  4. 导入海龟库________________。
  5. 移动画笔到(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)
  • 1
  • 2
  • 3
  • 4
  • 5

试题二:关于相关方法7-15

  1. 召唤海龟的语句是________________。
  2. 画半圆的语句是________________。
  3. 画笔方向左转的语句是________________。
  4. 画笔前进的语句是________________。
  5. 填充颜色的语句是________________。

答案

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")
  • 1
  • 2
  • 3
  • 4
  • 5

试题三:关于相关方法16-20

  1. 设置窗口的位置和大小________________。
  2. 重置画布________________。
  3. 调整画笔颜色________________。
  4. 改变海龟前进方向________________。

答案

  1. turtle.setup()
  2. turtle.reset()
  3. turtle.color()
  4. 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()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42

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()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43

谢谢观阅!!!

更新结束 2023 11 5

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号