python樱花代码

以下是一个python画樱花树的代码:

import turtle as T
import random
import time


# 画樱花的躯干(60,t)
def Tree(branch, t):
time.sleep(0.0005)
if branch > 3:
if 8 <= branch <= 12:
if random.randint(0, 2) == 0:
t.color('snow') # 白

else:
t.color('lightcoral') # 淡珊瑚色
t.pensize(branch / 3)

elif branch < 8:
if random.randint(0, 1) == 0:
t.color('snow')

else:
t.color('lightcoral') # 淡珊瑚色
t.pensize(branch / 2)

else:
t.color('sienna') # 赭(zhě)色
t.pensize(branch / 10) # 6
t.forward(branch)
a = 1.5 * random.random()
t.right(20 * a)
b = 1.5 * random.random()
Tree(branch - 10 * b, t)
t.left(40 * a)
Tree(branch - 10 * b, t)
t.right(20 * a)
t.up()
t.backward(branch)
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) # 绘图区域


if __name__ == '__main__':
t = T.Turtle() # 画布大小
w = T.Screen()
t.hideturtle() # 隐藏画笔
t.getscreen().tracer(5, 0)
w.screensize(bg='wheat') # wheat小麦
t.left(90)
t.up()
t.backward(150)
t.down()
t.color('sienna') # 画樱花的躯干
Tree(60, t) # 掉落的花瓣
Petal(200, t)
w.exitonclick()

这段代码(来源:大炳哥)使用Python的Turtle模块绘制了一个樱花树和飘落的花瓣效果。下面是对代码的解释:

  1. 导入模块和库:
    import turtle as T
    import random
    import time
    ```
    ``turtle`模块提供了绘制图形的功能,`random`模块用于生成随机数,`time`模块用于添加延迟。
  2. 定义函数 Tree(branch, t):
    这个函数用于绘制樱花树的躯干部分。它接受两个参数,branch表示树枝的长度,t是Turtle对象,用于绘制图形。

    • 函数中的 time.sleep(0.0005) 是为了添加绘图的延迟效果,使得树的生长看起来更自然。
    • 根据树枝的长度,选择合适的颜色和笔触大小来绘制树枝。
    • 使用随机数控制树枝的生长方向和长度,使得树看起来更加自然。
    • 递归调用 Tree() 函数来绘制树枝的分支。
    • 最后,将画笔移动到原位置,为绘制花瓣做准备。
  3. 定义函数 Petal(m, t):
    这个函数用于绘制飘落的花瓣。它接受两个参数,m表示花瓣的数量,t是Turtle对象,用于绘制图形。

    • 使用随机数控制花瓣的位置和大小,使得花瓣的分布看起来更加随机。
    • 绘制圆形的花瓣。
  4. 主程序:
    • 创建一个Turtle对象 t 和一个Screen对象 w,用于绘制图形和设置画布。
    • 隐藏画笔,并设置绘图速度。
    • 设置画布的背景颜色。
    • 调整画笔的位置和方向。
    • 使用 Tree() 函数绘制樱花树的躯干。
    • 使用 Petal() 函数绘制飘落的花瓣。
    • 等待用户点击画布关闭程序。

最终效果图:

 Python 使用Python画樱花树

这段代码运行后,将在画布上绘制出一棵樱花树和飘落的花瓣效果。