初探python之turtle

开始turtle之旅

有了上一篇的new圣诞树,这次我准备继续学习一下turtle。
首先我们需要了解库中的一些基本操作

turtle一个绘制图形库

在默认情况下,在画布的坐标原点处的“小乌龟”,它的头朝向X轴正方向(也认为就是我们的右手方向)
既然我们说它是一只“小乌龟”,那么它肯定是会运动。但是这种运动是由我们人为控制的。

前进

我们可以控制“小乌龟”向它朝向的方向前进

#turtle.fd(distance)  跟下面的方法作用一样 前进distance
#turtle.forward(distance)
turtle.forward(200)

后退

相同的我们也可以控制“小乌龟”向它朝向的方面后退。

# turtle.backward(distance) 
# turtle.back(distance) 
# turtle.bk(distance)
# 上面三种方法的作用是一样的,后退distance的距离
turtle.backward(250)  

转向

我们还可以控制“小乌龟”的身体,改变它的方向。

# turtle.right(angle) 
# turtle.rt(angle)
# 如字面意思右转angle度
# turtle.left(angle)  
# turtle.lt(angle)
# 如字面意思左转angle度

为了便于理解,我们可以这样想,以小乌龟朝向的方面为正方面,向左或者右转向。为了便于理解,我放两张图。

小乌龟右转90度
小乌龟右转90度
小乌龟左转90度
在这里插入图片描述

有了以上的知识我们就可以做出一些简单的形状了。
比如五角星

turtle.right(72)
turtle.fd(50)

turtle.left(72)
turtle.fd(50)

turtle.right(144)
turtle.fd(50)

turtle.left(72)
turtle.fd(50)

turtle.right(144)
turtle.fd(50)

turtle.left(72)
turtle.fd(50)

turtle.right(144)
turtle.fd(50)

turtle.left(72)
turtle.fd(50)

turtle.right(144)
turtle.fd(50)

turtle.left(72)
turtle.fd(50)

这是最基础的一笔一笔的画,其实我们不难发现这个中间有着一定的规律。我又继续优化了一下,用for循环去解决那个重复的工作。

turtle.left(72)
turtle.fd(50)
for i in range(4):
    turtle.right(144)
    turtle.fd(50)
    turtle.left(72)
    turtle.fd(50)

这样代码又简洁了一些。相信聪明的你们肯定还能继续优化。?

转圈

我们继续学习,这时我们会想,如果我想画曲线该怎么办呢?
哈哈哈,没问题,这个turtle也为我们提供了控制小乌龟走曲线的能力。

turtle.circle(radium, extent=None,steps=None)

这个方法会用到三个参数
我们可以很明白看出第一个参数是传你要画的弧的半径,这个半径可以是负数(对!你没有看错)这时的正负是控制画曲线的方向,如果为正数时,则它是以逆时针的方向画。反之,则为顺时针方向。
为了方面理解,我附上以下两张图。

turtle.circle(-70, extent=None,steps=None)

在这里插入图片描述

turtle.circle(70, extent=None,steps=None)

在这里插入图片描述
第二个参数extent
可以理解extent为圆弧对应的圆心角,未设置时直接画整⚪。

turtle.circle(70, extent=90,steps=None)

在这里插入图片描述

第三个参数steps
steps我们可以理解为画这个需要多少步
我演示两个便于理解

turtle.circle(70, extent=None,steps=5)

在这里插入图片描述

turtle.circle(70, extent=180,steps=5)

在这里插入图片描述

dot()方法

这里小乌龟还有一个dot()方法

#turtle.dot(size,color)
turtle.dot(70,'blue')

具体我直接上图,体会下
在这里插入图片描述
它其实就是以小乌龟为圆心 画一个半径为size/2颜色为color的实心圆
这样我们可以用它做一些漂亮的图案了

turtle.dot(300,'red')
turtle.dot(220,'white')
turtle.dot(150,'red')
turtle.dot(80,'white')

在这里插入图片描述
这篇先写这么多
谢谢阅读

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值