注册 登录
编程论坛 Python论坛

请教一个递归函数具体实现步骤

Fauce 发布于 2020-02-18 21:57, 1339 次点击
import turtle
def draw(l):
    if l>5:
        turtle.forward(l)
        print("向前进 ",l)
        turtle.right(20)
        print("向右转20度")
        draw(l-15)

        turtle.left(40)
        print("向左转40度")
        draw(l-15)

        turtle.right(20)
        print("向右转20度")
        turtle.backward(l)
        print("向后退",l)

def main():
  turtle.left(90)
  draw(40)
  turtle.exitonclick()

if __name__=='__main__':
    main()

这是分形树绘制的代码,其中draw函数的里的递归我有点不明白,当l为5,为什么可以执行向左和向后的操作,
4 回复
#2
时光流逝2020-02-23 18:49
你那代码中,当l=5时draw()根本不会执行
#3
时光流逝2020-02-23 18:50
if判断都没过
#4
nunistx2020-02-27 07:32
回复 2楼 时光流逝
就算i>5,也不会执行吧,哪有自定义函数在它内部引用自己的
#5
时光流逝2020-03-07 16:58
回复 4楼 nunistx
可以啊,这叫递归
1