python递归画二叉树 简单代码
时间: 2023-07-09 14:30:18 浏览: 93
以下是一个简单的Python递归代码,用于绘制二叉树:
```python
import turtle
# 设置画笔大小和速度
turtle.pensize(2)
turtle.speed(10)
def draw_branch(branch_len):
if branch_len > 5:
# 绘制右侧树枝
turtle.forward(branch_len)
turtle.right(20)
draw_branch(branch_len - 15)
# 绘制左侧树枝
turtle.left(40)
draw_branch(branch_len - 15)
# 返回到原来的位置
turtle.right(20)
turtle.backward(branch_len)
# 绘制树干
turtle.left(90)
turtle.penup()
turtle.backward(200)
turtle.pendown()
turtle.color('brown')
turtle.forward(100)
# 绘制树枝
turtle.color('green')
draw_branch(75)
# 关闭窗口
turtle.done()
```
在这个例子中,我们首先导入turtle模块,并设置画笔的大小和速度。然后,我们定义了一个名为draw_branch的递归函数,用于绘制二叉树的树枝。该函数使用turtle库的forward、right、left和backward方法来移动画笔,并使用递归来绘制树的左右两侧的树枝。
在主函数中,我们首先绘制树干,然后调用draw_branch函数来绘制树枝。最后,我们关闭了窗口,程序结束。
您可以通过调整绘制的树的大小和形状,并更改draw_branch函数中的参数来自定义该程序,以满足您的需求。
阅读全文