帮我写一个Python turtle 樱花树
时间: 2023-07-16 13:15:27 浏览: 144
好的,以下是一个简单的 Python turtle 樱花树程序:
```python
import turtle
import random
# 设置画布大小
turtle.setup(800, 600)
# 创建画笔
pen = turtle.Turtle()
# 隐藏画笔
pen.hideturtle()
# 设置画笔颜色
pen.color('brown')
# 设置画笔线宽
pen.pensize(5)
# 设置画笔速度
pen.speed(0)
# 移动画笔到底部中心
pen.penup()
pen.goto(0, -270)
pen.pendown()
# 绘制树干
pen.left(90)
pen.forward(150)
# 定义一个函数绘制樱花
def draw_sakura(pen, size):
# 设置画笔颜色为粉红色
pen.color('pink')
# 画樱花的五个花瓣
for i in range(5):
pen.begin_fill()
pen.circle(size)
pen.end_fill()
pen.right(72)
# 画樱花的花蕊
pen.color('yellow')
pen.begin_fill()
pen.circle(size * 0.3)
pen.end_fill()
# 定义一个函数绘制树枝
def draw_branch(pen, length, angle, size):
if length > 10:
# 绘制树枝
pen.pensize(size)
pen.forward(length)
# 随机绘制樱花
if random.random() < 0.2:
draw_sakura(pen, size * 2)
# 绘制左侧分支
pen.left(angle)
draw_branch(pen, length * 0.7, angle * 0.8, size * 0.8)
# 绘制右侧分支
pen.right(angle * 2)
draw_branch(pen, length * 0.7, angle * 0.8, size * 0.8)
# 返回父节点
pen.left(angle)
pen.backward(length)
# 绘制树枝
draw_branch(pen, 120, 30, 10)
# 显示画布
turtle.done()
```
运行该程序,即可在画布上绘制一个樱花树。程序中使用了递归函数来绘制树枝和随机绘制樱花。你可以根据自己的需求修改程序中的参数来调整樱花树的形态和细节。
阅读全文