前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >有意思的python小程序分享——使用python画一棵樱花树

有意思的python小程序分享——使用python画一棵樱花树

作者头像
GeekLiHua
发布2025-01-21 15:06:56
发布2025-01-21 15:06:56
13900
代码可运行
举报
文章被收录于专栏:JavaJava
运行总次数:0
代码可运行

有意思的python小程序分享——使用python画一棵樱花树

简介

使用python绘制樱花树

有趣的Python小程序分享——用Python画樱花树

绘制樱花树的代码主要利用了Python的turtle模块,通过递归的方式实现了树的结构,包括树干和分支。以下是绘制樱花树代码的编写思路:

导入必要的模块:

代码语言:javascript
代码运行次数:0
复制
from turtle import *
from random import *
from math import *

定义绘制树的函数tree

代码语言:javascript
代码运行次数:0
复制
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)

设置画布背景色等初始化操作:

代码语言:javascript
代码运行次数:0
复制
bgcolor(0.5, 0.5, 0.5)
ht()
speed(0)
tracer(0, 0)
pu()
backward(100)
left(90)
pu()
backward(300)

调用绘制树的函数:

代码语言:javascript
代码运行次数:0
复制
tree(12, 100)

结束turtle绘图:

代码语言:javascript
代码运行次数:0
复制
done()

这段代码的核心是tree函数,通过递归方式绘制树的结构,其中涉及到随机数的运用,使得每棵树都具有差异性。在绘制叶子的部分,通过一些数学计算和颜色的调整,实现了樱花叶子的效果,包括飘落的樱花。整个代码充分展现了Python在图形绘制方面的灵活性和创造性。

运行效果展示

双击python小程序

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-01-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 有意思的python小程序分享——使用python画一棵樱花树
    • 简介
    • 运行效果展示
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档