前几天看小还学Python编程,打印蜘蛛网,总感觉蜘蛛网少了点什么,后来发现6个顶点没有延长出去。于是又重新换了一种写法。图一为原始效果,并附上代码。
图一效果代码:
图一的创作方法是通过画6个等边三角形的方式来实现一圈圈的蜘蛛网的效果,可以自定义每一圈蜘蛛网的颜色。
import turtle
p=turtle.Pen()
# 自定义函数web,循环画6个等边三角形
def web(length,color):
p.pencolor(color)
for i in range(6):
for i in range(3):
p.forward(length)
p.left(120)
p.left(360/6)
web(60,'green')
web(120,'red')
web(180,'blue')
web(240,'black')
web(300,'orange')
turtle.done()
下面我们来使用另外一种方式来实现这个效果:
1、先从中心画6条射线
2、每隔一段相同的距离画一个正六边形
import turtle
p = turtle.Pen()
# 自定义函数web1,从中心点画6条射线
def web1(length,color):
p.pencolor(color)
for i in range(6):
p.forward(length)
p.backward(length)
p.left(360/6)
# 自定义函数web2,每隔一段距离画一个正六边形
def web2(length,color):
p.pencolor(color)
p.penup()
p.goto(length, 0)
p.pendown()
p.left(60)
for i in range(6):
p.left(60)
p.forward(length)
p.penup()
# p.goto(0, 0)
p.right(60)
p.pendown()
web1(320,'red')
web2(60,'green')
web2(120,'yellow')
web2(180,'blue')
web2(240,'black')
web2(300,'orange')
turtle.done()
效果图如下:
如果想要延长线再长一点,可以把web1中的数值调大一点