本系列课程是针对无基础的,争取用简单明了的语言来讲解,学习前需要具备基本的电脑操作能力,准备一个已安装python环境的电脑。如果觉得好可以分享转发,有问题的地方也欢迎指出,在此先行谢过。
程序很厉害,那用程序画画可以做到吗?
当然可以了,在python中有一个叫turtle的库(可以理解画笔工具箱),就是专门用来画画的,稍加学习,你就可以用程序去控制一支笔去画画了。
现实中画画,可是需要笔,画板等的,那程序中的这些该怎样表示呢?
1.创建画笔
代码:
# 导入海龟库
import turtle
# 创建一支自己的画笔
pen = turtle.Pen()
# 保持画板显示
turtle.done()
效果图:
解释:
第1,3,5行代码,在python程序中叫做注释,其实可以理解为我们给程序做的笔记,用来帮助人(自己或其他人)了解程序是干什么的,什么意思;程序运行时会直接忽略它的。
第2行就是python给我们准备的画笔工具箱,里面有各种各样的工具;使用前都得 先写这行代码,import turtle 就是导入 海龟库工具箱的意思。
第4行代码代码就是用海龟库的Pen()工具创建我们自己的一个画笔。pen是我们给笔取的名字,也就是之前讲的变量,你用mypen yourpen都是可以的,图中的三角箭头形状的就是我们的笔,箭头方向就表示画笔的方向。
第6行代码就是让程序的画板保持显示状态,默认程序画板是隐藏的,绘制完也是会隐藏的,通过这行代码就可以保持画板显示了。
2.画一条200长度的直线
代码:
# 导入海龟库
import turtle
# 创建一支自己的画笔
pen = turtle.Pen()
# 前进200
pen.forward(200)
# 保持画板显示
turtle.done()
效果图:
解释:
第7行的forward()就是画笔的一个前进方法,使用规则是用 画笔的名字 pen + 点+ forward()
除了前进,那可不可以后退拐弯呢?
3.更多移动方法
代码:
# 导入海龟库
import turtle
# 创建一支自己的画笔
pen = turtle.Pen()
# 前进200
pen.forward(200)
# 左转90°
pen.left(90)
# 前进50
pen.backward(100)
# 右转90°
pen.right(90)
# 前进50
pen.forward(50)
# 保持画板显示
turtle.done()
效果图:
解释:
画笔的常见方法:
左转 left()
右转 right()
前进 forward()
后退backward()
4.绘制一个正方形
代码:
import turtle
pen = turtle.Pen()
# 前进200
pen.forward(200)
# 左转90°
pen.left(90)
# 前进200
pen.forward(200)
# 左转90°
pen.left(90)
# 前进200
pen.forward(200)
# 左转90°
pen.left(90)
# 前进200
pen.forward(200)
# 左转90°
pen.left(90)
turtle.done()
效果图:
解释:
重复4次前进100,左转90就可以实现效果了。
刚才绘制正方形有点快,能不能慢一点,让我看清楚一点?
还有这个画笔可以不调整颜色,调整粗细呢?
当然可以了,除了刚才说的哪些,还可以设置画笔的形状呢
代码:
# 导入海龟库
import turtle
# 创建一支自己的画笔
pen = turtle.Pen()
# 设置画笔为乌龟的形状
pen.shape('turtle')
# 设置画笔速度 1表示最慢,越大越快,最快的方法是 0
pen.speed(1)
# 设置成红色
pen.color('red')
# 设置粗细
pen.pensize(3)
# 前进200
pen.forward(200)
# 保持画板显示
turtle.done()
效果图:
解释:
设置画笔形状 ,pen.shape('turtle')
设置画笔速度,pen.speed(1):设置画笔速度 1表示最慢,越大越快,最快的方法是 0
设置颜色:pen.color('red'),在引号里面添加对应的颜色
设置画笔粗细 pen.pensize(3),里面填上对应数字,数字越大越粗
# 导入海龟库
import turtle
# 创建一支自己的画笔
pen = turtle.Pen()
pen.forward(200)
pen.right(144)
pen.forward(200)
pen.right(144)
pen.forward(200)
pen.right(144)
pen.forward(200)
pen.right(144)
pen.forward(200)
pen.right(144)
# 保持画板显示
turtle.done()
解释:
pen.forward(200)表示五角星的长度为200。
pen.right(144) 五角星的每个内角为36°,所以画笔需要往右旋转180-36=144°