有意思的python小程序分享——使用python画一棵樱花树
简介
使用python绘制樱花树
有趣的Python小程序分享——用Python画樱花树
绘制樱花树的代码主要利用了Python的turtle模块,通过递归的方式实现了树的结构,包括树干和分支。以下是绘制樱花树代码的编写思路:
- 导入必要的模块:
from turtle import * from random import * from math import *
- 定义绘制树的函数tree:
def tree(n, l): pd() # 下笔 t = cos(radians(heading() + 45)) / 8 + 0.25 pencolor(t, t, t) pensize(n / 3) forward(l) if n > 0: b = random() * 15 + 10 c = random() * 15 + 10 d = l * (random() * 0.25 + 0.7) right(b) tree(n - 1, d) left(b + c) tree(n - 1, d) right(c) else: # 叶子的绘制部分 right(90) n = cos(radians(heading() - 45)) / 4 + 0.5 pencolor(n, n * 0.8, n * 0.8) circle(3) left(90) if random() > 0.7: # 飘落的叶子 pu() t = heading() an = -40 + random() * 40 setheading(an) dis = int(800 * random() * 0.5 + 400 * random() * 0.3 + 200 * random() * 0.2) forward(dis) setheading(t) pd() right(90) n = cos(radians(heading() - 45)) / 4 + 0.5 pencolor(n * 0.5 + 0.5, 0.4 + n * 0.4, 0.4 + n * 0.4) circle(2) left(90) pu() t = heading() setheading(an) backward(dis) setheading(t) pu() backward(l)
- 设置画布背景色等初始化操作:
bgcolor(0.5, 0.5, 0.5) ht() speed(0) tracer(0, 0) pu() backward(100) left(90) pu() backward(300)
- 调用绘制树的函数:
tree(12, 100)
- 结束turtle绘图:
done()
这段代码的核心是tree函数,通过递归方式绘制树的结构,其中涉及到随机数的运用,使得每棵树都具有差异性。在绘制叶子的部分,通过一些数学计算和颜色的调整,实现了樱花叶子的效果,包括飘落的樱花。整个代码充分展现了Python在图形绘制方面的灵活性和创造性。
运行效果展示
双击python小程序
获取方式
关注微信公众号,极客李华,回复python小程序即可获得
如果大家觉得有用的话,可以关注我下面的微信公众号,极客李华,我会在里面更新更多行业资讯,企业面试内容,编程资源,如何写出可以让大厂面试官眼前一亮的简历等内容,让大家更好学习编程,我的抖音,B站也叫极客李华。大家喜欢也可以关注一下