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

目录

前言

废话不多说直接看修改后的代码

运行结果

🌟 嗨,我是命运之光

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

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


前言

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

废话不多说直接看修改后的代码
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 的一个小练习,同时也展示了递归函数在绘图中的强大应用。


嗨,我是命运之光。如果你觉得我的分享有价值,不妨通过以下方式表达你的支持:👍 点赞来表达你的喜爱,📁 关注以获取我的最新消息,💬 评论与我交流你的见解。我会继续努力,为你带来更多精彩和实用的内容。

点击这里👉 ,获取最新动态,⚡️ 让信息传递更加迅速。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

命运之光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值