Python动态生成一棵树
时间: 2023-12-14 12:34:54 浏览: 137
动态生成树
以下是使用Python的turtle模块动态生成一棵树的代码示例:
```python
import turtle
import random
# 设置画笔
t = turtle.Turtle()
t.speed(0)
t.left(90)
t.penup()
t.goto(0, -300)
t.pendown()
# 生成树干
def tree(branch_len, pen):
if branch_len > 5:
pen.pensize(branch_len / 10)
pen.forward(branch_len)
pen.right(20)
tree(branch_len - random.randint(10, 20), pen)
pen.left(40)
tree(branch_len - random.randint(10, 20), pen)
pen.right(20)
pen.backward(branch_len)
# 生成树叶
def leaf(pen):
pen.color("green")
pen.begin_fill()
pen.circle(5)
pen.end_fill()
# 生成树
def draw_tree(pen, branch_len):
if branch_len < 30:
leaf(pen)
else:
tree(branch_len, pen)
# 生成多棵树
for i in range(100):
t.penup()
t.goto(random.randint(-400, 400), random.randint(-300, -100))
t.pendown()
t.color("brown")
draw_tree(t, random.randint(50, 150))
# 隐藏画笔
t.hideturtle()
# 显示绘图窗口
turtle.done()
```
这段代码使用turtle模块生成了100棵随机分布的树,每棵树的树干长度和树叶数量都是随机的。你可以根据需要修改代码中的参数来生成不同形态的树。
阅读全文