turtle绘制图形

Example1:

 

1 import turtle as t
2 #初始设置画笔的宽度(size)、颜色(color)
3 t.pensize(5)
4 t.pencolor("black")
5 #循环结构,减少代码
6 for i in range(4):
7     t.forward(200)
8     t.left(90)

Example2:

方法一:把上面绘制四边形的代码:行6中的4改为6即可

#方法二
import turtle as t
t.pensize(5)
t.pencolor("black")
t.right(30)
t.circle(100,steps=6)
#下面是绘制该六边形的外接圆
t.pencolor("red")
t.circle(100)

结果:

所绘制出来的六边形与题目要求的不一样的原因:用turtle.circle(r,steps=n)绘制正n多边形的时候,其“半径”默认是“海龟”视角下的正左边,即以“海龟”为原点,它头的朝向为x轴正方向,圆心在与它垂直的左边,所以绘制正n多边形跟绘制它的外接圆是一样的

先改变朝向,在绘制即可:

 

Example3:

 1 import turtle as t
 2 t.pensize(5)
 3 t.pencolor("black")
 4 for i in range(4):
 5     t.forward(150)  
 6     t.right(90)
 7     t.circle(-150,45)
 8     t.right(90)
 9     t.forward(150)
10     t.left(135)

Conclusions:

  对于规则且重复的图像,建议用“相对移动”函数:forward()backward()和“相对角度”函数:right()left(),因为这样便于用for循环。如果用“绝对移动”函数:goto()和“绝对角度”函数:setheading(),则无法用循环,每次改变位置或角度都要修改参数,比较麻烦

posted @ 2019-08-08 16:13  kenny.feng  阅读(1895)  评论(0编辑  收藏  举报