前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【樱花树】用 Python Turtle 绘制樱花树并添加太阳与文字注释

【樱花树】用 Python Turtle 绘制樱花树并添加太阳与文字注释

作者头像
命运之光
发布于 2025-05-19 00:15:17
发布于 2025-05-19 00:15:17
13500
代码可运行
举报
运行总次数:0
代码可运行

🌟 嗨,我是命运之光

🌍 2024,每日百字,记录时光,感谢有你一路同行。

🚀 携手启航,探索未知,激发潜能,每一步都意义非凡。


前言

Turtle 是 Python 的标准库之一,适合用来学习编程基础和简单的图形绘制。通过 Turtle,我们可以轻松地控制一只“小海龟”在屏幕上移动,从而绘制出各种形状和图案。本文将使用 Turtle 来绘制一棵樱花树,并在图中添加一个太阳和注释。

废话不多说直接看修改后的代码
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import turtle
import random
from turtle import *
from time import sleep

t = turtle.Turtle()
w = turtle.Screen()


def tree(branchLen, t):
    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 draw_sun():
    t.up()
    t.goto(-300, 300)
    t.down()
    t.color("yellow")
    t.begin_fill()
    t.circle(50)
    t.end_fill()


def add_text():
    t.up()
    t.goto(-50, 200)
    t.color("black")
    t.write("这是一个樱花树", align="center", font=("Arial", 20, "normal"))
    t.down()


def main():
    t.speed(10)  # 加快速度
    turtle.screensize(bg='wheat')
    draw_sun()  # 画太阳
    add_text()  # 添加文字
    t.left(90)
    t.up()
    t.backward(150)
    t.down()
    t.color('sienna')
    tree(60, t)
    petal(100, t)

    w.exitonclick()


main()
运行结果

运行这段代码后,你会看到一个温暖的场景:左上角的太阳、中央的樱花树和落在树下的花瓣,屏幕中间还显示着“这是一个樱花树”的文字。这幅图案可以作为你学习 Turtle 的一个小练习,同时也展示了递归函数在绘图中的强大应用。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 废话不多说直接看修改后的代码
  • 运行结果
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档