# -*- coding: utf-8 -*-
"""
作者:宇轩亚40
功能:利用递归绘制分形树
"""
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(100)
turtle.pendown()
turtle.color('red')
draw_branch(80)
turtle.exitonclick()
if __name__ == '__main__':
main()
运行上述程序,结果如下图所示:

同时,程序还会显示如下的运行结果:
向前 80
右转 20
向前 65
右转 20
向前 50
右转 20
向前 35
右转 20
向前 20
右转 20
左转 40
右转 20
向后 20
左转 40
向前 20
右转 20
左转 40
右转 20
向后 20
右转 20
向后 35
左转 40
向前 35
右转 20
向前 20
右转 20
左转 40
右转 20
向后 20
左转 40
向前 20
右转 20
左转 40
右转 20
向后 20
右转 20
向后 35
右转 20
向后 50
左转 40
向前 50
右转 20
向前 35
右转 20
向前 20
右转 20
左转 40
右转 20
向后 20
左转 40
向前 20
右转 20
左转 40
右转 20
向后 20
右转 20
向后 35
左转 40
向前 35
右转 20
向前 20
右转 20
左转 40
右转 20
向后 20
左转 40
向前 20
右转 20
左转 40
右转 20
向后 20
右转 20
向后 35
右转 20
向后 50
右转 20
向后 65
左转 40
向前 65
右转 20
向前 50
右转 20
向前 35
右转 20
向前 20
右转 20
左转 40
右转 20
向后 20
左转 40
向前 20
右转 20
左转 40
右转 20
向后 20
右转 20
向后 35
左转 40
向前 35
右转 20
向前 20
右转 20
左转 40
右转 20
向后 20
左转 40
向前 20
右转 20
左转 40
右转 20
向后 20
右转 20
向后 35
右转 20
向后 50
左转 40
向前 50
右转 20
向前 35
右转 20
向前 20
右转 20
左转 40
右转 20
向后 20
左转 40
向前 20
右转 20
左转 40
右转 20
向后 20
右转 20
向后 35
左转 40
向前 35
右转 20
向前 20
右转 20
左转 40
右转 20
向后 20
左转 40
向前 20
右转 20
左转 40
右转 20
向后 20
右转 20
向后 35
右转 20
向后 50
右转 20
向后 65
右转 20
向后 80
本文介绍了一种使用Python的Turtle模块通过递归函数绘制分形树的方法。通过调整参数,可以创建出复杂的分形图案,展示了递归在图形绘制中的应用。
2万+

被折叠的 条评论
为什么被折叠?



