您的位置首页百科问答

怎么用python绘制正七角星

怎么用python绘制正七角星

的有关信息介绍如下:

怎么用python绘制正七角星

在《怎么用python画正六边形?(turtle)》里面,我介绍了用python画正六边形的一个方法。

那么,本文,在此基础上,进一步来画正七角星,并依次画出其它角星。

9怎么用python画正六边形?(turtle)

首先,画一个正七角星。

import turtle

import time

t = turtle.Pen()

for i in range(7):

t.forward(100)

t.right(180-180/7)

看看能不能画出正六角形:

import turtle

import time

t = turtle.Pen()

for i in range(6):

t.forward(100)

t.right(180-180/6)

上面的正六角形只画出了一半。

需要把range(6)变成range(12)。

先画正七角星,再画正六角星,且正六角星在正七角星上面:

for i in range(7):

t.forward(100)

t.right(180-180/7)

t.goto(0,100)

for i in range(12):

t.forward(100)

t.right(180-180/6)

可是,正六角星和正七角星之间,连了一条线段。

如果不想要这条线段,就需要把笔尖提起来。

t.up()%提笔

t.goto(0,100)%移动笔尖

t.down()%落笔

for i in range(12):

t.forward(100)

t.right(180-180/6)

用for循环,结合if语句,批量绘图:

for n in [5,6,7,8]:

if n%2==0:

nn = n*2

else:

nn = n

for i in range(nn):

t.forward(100)

t.right(180-180/n)

t.up()

t.goto(0,100*(n-4))

t.down()

注意看turtle最后的位置。

最后,让turtle返回原点:

t.up()

t.goto(0,0)