使用tkinter库创建递归树
时间: 2023-09-17 12:13:02 浏览: 78
好的,下面是一个使用tkinter库创建递归树的示例代码:
```python
import tkinter as tk
def create_tree(canvas, x, y, length, angle, depth):
if depth == 0:
return
# 计算子树的起始坐标和长度
x1 = x
y1 = y
x2 = x1 + length * tk.cos(tk.radians(angle))
y2 = y1 - length * tk.sin(tk.radians(angle))
# 绘制当前分支
canvas.create_line(x1, y1, x2, y2)
# 递归绘制左子树和右子树
create_tree(canvas, x2, y2, length*0.8, angle+20, depth-1)
create_tree(canvas, x2, y2, length*0.8, angle-20, depth-1)
# 创建窗口
root = tk.Tk()
root.title("递归树")
# 创建画布并绘制递归树
canvas = tk.Canvas(root, width=600, height=600)
canvas.pack()
create_tree(canvas, 300, 550, 100, -90, 10)
root.mainloop()
```
运行上述代码,即可在窗口中看到递归树的效果。您可以调整`create_tree`函数中的参数来改变树的大小和形状。
阅读全文