前两节课我们用for循环的嵌套做了简单的多边形,并探索了反向绘制多边形,逐个填充颜色。之前画的多边形是固定边长的,随着边数增多,多边形会越来越大。这节课画的多边形与以往有所不同,边长不再固定,所有多边形都内接于一个固定半径的圆内,因此我们导入math模块和time模块,由于用到了三角函数知识,因此更适合于中学阶段学习。
以下是源代码:
import turtle as t
import math
import time
t.hideturtle()
def cir1():
t.hideturtle()
t.seth(0)
t.speed(0)
t.pencolor('blue')
t.pensize(2)
t.pu()
t.goto(0,-200)
t.seth(0)
t.pd()
t.circle(200)
def dbx(n):
for i in range(3,n):
t.hideturtle()
cir1()
t.speed(0)
t.pencolor('blue')
t.pensize(2)
t.pu()
t.goto(0,-200)
t.seth(180/i)
t.pd()
for j in range(i):
t.fd(400*math.sin(math.radians(180/i)))
t.lt(360/i)
t.write(i,align='center',font=('consolas',24))
time.sleep(1)
t.clear()
dbx(13)
t.exitonclick()