母亲节快乐樱花绘制程序
功能概述
- 使用Python的turtle库绘制樱花树。
- 模拟樱花花瓣飘落的效果。
- 在画布上显示“母亲节快乐”和一个心形符号。
主要函数
tree(branchLen, t)
- 递归函数用于绘制樱花树的枝干。
- 参数
branchLen
表示当前树枝的长度。 - 参数
t
是turtle对象。 - 根据树枝长度,使用不同颜色和粗细绘制树枝。
- 递归调用自身以绘制更小的树枝。
petal(m, t)
- 用于绘制
m
个掉落的樱花花瓣。 - 使用随机位置和大小来模拟花瓣飘落的效果。
display_text(t)
- 在画布上显示“母亲节快乐”和一个心形符号。
- 可以调整文字和符号的位置和颜色。
程序执行步骤
- 初始化turtle对象
t
和画布w
。 - 设置画布标题为“母亲节快乐”并调整背景颜色。
- 调用
tree
函数开始绘制樱花树。 - 调用
petal
函数添加掉落的樱花花瓣。 - 使用
display_text
函数在画布上显示祝福语。 - 点击画布后程序结束。
完整代码
import turtle
import random
from time import sleep
def tree(branchLen, t):
sleep(0.0005)
if branchLen > 3:
if 8 <= branchLen <= 12:
if random.randint(0, 2) == 0:
t.color('snow')
else:
t.color('lightcoral')
t.pensize(branchLen / 3)
elif branchLen < 8:
if random.randint(0, 1) == 0:
t.color('snow')
else:
t.color('lightcoral')
t.pensize(branchLen / 2)
else:
t.color('sienna')
t.pensize(branchLen / 10)
t.forward(branchLen)
a = 1.5 * random.random()
t.right(20 * a)
b = 1.5 * random.random()
tree(branchLen - 10 * b, t)
t.left(40 * a)
tree(branchLen - 10 * b, t)
t.right(20 * a)
t.up()
t.backward(branchLen)
t.down()
def petal(m, t):
for i in range(m):
a = 200 - 400 * random.random()
b = 10 - 20 * random.random()
t.up()
t.forward(b)
t.left(90)
t.forward(a)
t.down()
t.color('lightcoral')
t.circle(1)
t.up()
t.backward(a)
t.right(90)
t.backward(b)
def display_text(t):
t.up()
t.goto(0, -270)
t.color('black')
t.write("母亲节快乐", align="center", font=("黑 достижени", 24, "bold"))
t.goto(20, -300)
t.color('red')
t.write("❤️", align="center", font=("黑 достижени", 24, "bold"))
def main():
t = turtle.Turtle()
w = turtle.Screen()
w.title('母亲节快乐')
t.hideturtle()
t.getscreen().tracer(5, 0)
w.screensize(800, 600, bg='wheat')
t.left(90)
t.up()
t.backward(150)
t.down()
t.color('sienna')
tree(60, t)
petal(200, t)
display_text(t)
w.exitonclick()
main()
注意事项
- 代码中使用了
sleep
函数来控制绘制速度。 w.exitonclick()
使得程序在点击画布后退出。- 代码中使用了随机数生成器来增加自然效果。