学习中参阅一些资料,发现用turtle库画多边形的方法有多种,其中有的思路比较巧妙.


1.用直线和角度画正n边形
from turtle import *
width(2)
n=eval(input('请输入边数'))
for i in range(n):
fd(100)
left(360/n)
done()
2.用abs(pos())辅助画五角星
from turtle import *
import math #cos()cos()函数在该模块中
speed(0)
color('yellow','red')
begin_fill() #填色开始
while True: #用for 循环省事。
forward(200)
left(-(180-36)) #可简单证得五角形的5个内角和为180度,每个36度,负值表顺时针方向。换right就不用负号了.
if abs(pos()) < 1: #abs(a),计算矢量a的绝对值, 此处用来判断是否回到原点,终止循环.
break
end_fill() #填色结束 与begin_fill()成对出现,如没有这句,则不能完成填色.
seth(72) #目的是使海龟朝向与圆半径垂直.后面circle(