2017-03-12 12 views
-1

私は、再帰的にpythonのカメ機能を持つ四角形を描画しようとしています、四角形の内側に、再帰的に4つを描画し、それらの4つの内側に4つ以上を描画します。 コードは右上の四角形を通過しますが、コードに戻るとエラーが発生します。ここにあります:再帰的な正方形

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) 
+0

「エラーがありますか?」とはどういう意味ですか?あなたはもっと具体的になりますか? – EJoshuaS

+0

こんにちは、それはturtle.exitonclick()配置と関係していたエラーでした、私はそれを解決しました!ありがとうございました。 – Jimmy

答えて

0

コードに問題はないようです。私は、私も

enter image description here


備考

この素敵な画像を取得するために4に初期の深さをアップクランクturtle.exitonclick()を削除し、https://repl.it/languages/python_turtle

を使用して問題なくそれを実行することができましたこのコードは何もしません。ただ削除することができます

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