在python龟的比较中超过最大递归深度



我写了这个递归代码,它在turtle中画了一个六边形螺旋,然后应该画一个方形螺旋。但是它给了我一个错误

超过最大递归深度

然而,当我在单独的文件中执行这两个函数时,它可以工作。在这两种情况下,函数都以螺旋数n作为参数。有人能告诉我为什么吗?

def hexagon(n):
if n>=1:
forward(n)
left(60)
hexagon(n-1)
hexagon(100)
clearscreen()
def square(n):
if n>=1:
forward(n*5)
right(90)
square(n-1)
square(50) 

这是由于缩进错误:

if n>=1:
forward(n)
left(60)
hexagon(n-1)

应该是:

if n>=1:
forward(n)
left(60)
hexagon(n-1)

square()函数中也是如此。完整代码:

from turtle import *
def hexagon(n):
if n >= 1:
forward(n)
left(60)
hexagon(n-1)
def square(n):
if n >= 1:
forward(n*5)
right(90)
square(n-1)
hexagon(100)
clearscreen()
square(50)
done()

最新更新