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(),则无法用循环,每次改变位置或角度都要修改参数,比较麻烦