|
题主在学习良斌老师的pytho教程时,遇到了采用递归函数绘制分型树的问题。虽然采用递归函数可以绘制出分型树,但是对于递归函数部分的代码,百思不得其执行过程,即使采用debug,也搞不懂为何程序会如此走向。请教大神帮忙解答。下面是最小的分型树的代码。
"""
作者:梁斌
功能:利用递归函数绘制分形树
版本:1.0
日期:03/08/2017
"""
import turtle
def draw_branch(branch_length):
"""
绘制分形树
"""
if branch_length > 5:
# 绘制右侧树枝
turtle.forward(branch_length)
print('向前 ', branch_length)
turtle.right(20)
print('右转 20')
draw_branch(branch_length - 15)
# 绘制左侧树枝
turtle.left(40)
print('左转 40')
draw_branch(branch_length - 15)
# 返回之前的树枝
turtle.right(20)
print('右转 20')
turtle.backward(branch_length)
print('向后 ', branch_length)
def main():
"""
主函数
"""
turtle.left(90)
turtle.penup()
turtle.backward(350)
turtle.pendown()
turtle.color('brown')
draw_branch(36)
turtle.exitonclick()
if __name__ == '__main__':
main()
|
|