2 回答

TA貢獻1821條經驗 獲得超5個贊
在進入循環之前,轉動 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()
添加回答
舉報