Python使用forward,left,right画图
- forward()
- left()
- right()
- 单个正方形
- 多个正方形
forward()
Python中turtle库的方法,使用时需要从turtle库中调用,即turtle.forward(距离),括号内可以理解为前进的距离,或者称为像素
注意:forward()初始位置以及初始方向(水平向右)
left()
Python中turtle库的方法,使用时需要从turtle库中调用,即turtle.left(角度数),完成画笔向左的转向,括号内为转向的角度
right()
Python中turtle库的方法,使用时需要从turtle中调用,即turtle.right(角度数),完成画笔向右的转向,括号内为转向的角度
单个正方形
四条边,每次转向90度
- 导入库
代码
如下:
# 导入海龟画图库 turtle
import turtle as t
- 画图
代码
如下:
# 使用forward()前进200
t.forward(200)
# 此时方向仍水平向右,需先右转90度,再前进
t.right(90)
t.forward(200)
# 此时方向水平向下,需先右转90度,再前进
t.right(90)
t.forward(200)
# 此时方向水平向左,需先右转90度,再前进
t.right(90)
t.forward(200)
效果图
如下:
代码
可利用for循环优化:
# 导入海龟画图库 turtle
import turtle as t
# 四条边的绘制,循环四次
for i in range(4):
t.forward(200)
t.right(90)
效果图
如下(注意结束后方向的差别):
多个正方形
一共十个正方形,围成一个圈
- 导入库
见上文 - 画单个正方形
见上文 - 旋转画多个正方形
一个圈的度数为360,一共十个正方形,所以每一次完成单个正方形后旋转的度数为360/10=36。
完成单个正方形需要用到一个循环,循环次数为4次;十个正方形需要循环绘制10次。代码
如下:
# 导入库
import turtle as t
# 旋转绘制10个正方形
for i in range(10):
# 绘制单个正方形
for i in range(4):
t.forward(200)
t.right(90)
# 绘制完单个正方形后旋转一定角度绘制下一个正方形
t.right(36) # 左转右转都可以
效果图
如下:
4. 加入随机颜色
pencolor():设置画笔颜色,可使用两种方法——英文单词+RGB设置
colormode():指定颜色分量值的模式
random库:使用其中的randint()方法随机产生整数
代码
图如下:
# 导入turtle画图库,random随机库
import turtle as t
import random as r
#设置模式
t.colormode(255)
#初始化RGB的值
R = 0
G = 0
B = 0
#旋转画出10个正方形
for i in range(10):
#每次画的时候,随机产生RGB
R = r.randint(1,255)
G = r.randint(1,255)
B = r.randint(1,255)
#给定画笔颜色
t.pencolor(R,G,B)
#开始绘制单个正方形
for i in range(4):
t.forward(200)
t.right(90)
#单个绘制完后,旋转一定角度继续绘制下一个正方形
t.right(36)
效果图
如下: