【问题标题】:Recursive Squares [duplicate]递归平方[重复]
【发布时间】:2017-08-02 22:24:54
【问题描述】:

我正在尝试使用python的turtle函数递归地绘制一个正方形,并在正方形内递归地在其中再绘制四个,在这四个内部,再在其中四个。 我的代码通过右上角的方块,但在返回代码时出错。在这里:

import turtle
turtle.speed(0)
def drawSquare(xCenter, yCenter, edgeLength, depthLeft):
    xCenter = xCenter
    yCenter = yCenter
    edgeLength = edgeLength
    depthLeft = depthLeft
    if depthLeft == 0:
        return 
    else:
        turtle.penup()
        turtle.goto((xCenter-.5*edgeLength),(yCenter-.5*edgeLength))
        turtle.pendown()

        for i in range(4):
            turtle.forward(edgeLength)
            turtle.left(90)

        depthLeft = depthLeft - 1
        edgeLength = edgeLength/4
        drawSquare(xCenter+edgeLength,yCenter+edgeLength,edgeLength, depthLeft)
        drawSquare(xCenter-edgeLength,yCenter+edgeLength,edgeLength, depthLeft)
        drawSquare(xCenter+edgeLength,yCenter-edgeLength,edgeLength, depthLeft)
        drawSquare(xCenter-edgeLength,yCenter-edgeLength,edgeLength, depthLeft) 

    turtle.exitonclick()

drawSquare(0,0,500,2)

【问题讨论】:

  • “有错误”是什么意思?你能说得更具体点吗?
  • 您好,这是一个与turtle.exitonclick() 放置有关的错误,不过我已经解决了!谢谢。

标签: python-3.x recursion turtle-graphics


【解决方案1】:

您的代码似乎没有任何问题。我能够删除 turtle.exitonclick() 并使用 https://repl.it/languages/python_turtle 毫无问题地运行它

我什至将初始深度提高到 4 以获得这张可爱的图像


备注

这段代码没有任何作用,你可以删除它

xCenter = xCenter
yCenter = yCenter
edgeLength = edgeLength
depthLeft = depthLeft

【讨论】:

    猜你喜欢
    • 2012-09-10
    • 2011-07-21
    • 1970-01-01
    • 2021-06-23
    • 2018-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-29
    相关资源
    最近更新 更多