2 回答
TA贡献1821条经验 获得超4个赞
在进入循环之前,转动 30 度。
geekyTurtle.right(30)
为了让它的克隆在旁边,只需将乌龟放到新位置并再次绘制形状即可:
for i in range(6):
geekyTurtle.forward(90)
geekyTurtle.left(300)
geekyTurtle.up()
geekyTurtle.goto(90 * 3 ** .5, 0)
geekyTurtle.down()
for i in range(6):
geekyTurtle.forward(90)
geekyTurtle.left(300)
将其放入循环中以使其具有两次以上
.up()您可以使用和.goto(x, y)的想法.down()来绘制网格。
TA贡献1850条经验 获得超11个赞
看起来这是一个递归可以以类似分形的方式简化的问题。初始六边形的每一边本身就是一个六边形,依此类推,填充可用空间:
from turtle import Screen, Turtle
SIDE = 75 # pixels
def hexagon(side, depth):
if depth > 0:
for _ in range(6):
turtle.forward(side)
turtle.right(60)
hexagon(side, depth - 1)
turtle.left(120)
screen = Screen()
screen.tracer(False) # because I have no patience
turtle = Turtle()
turtle.penup()
turtle.width(2)
turtle.sety(-SIDE) # center hexagons on window
turtle.pendown()
turtle.left(30) # optional, orient hexagons
hexagon(SIDE, depth=6) # depth depends on coverage area
turtle.hideturtle()
screen.tracer(True)
screen.exitonclick()
添加回答
举报