脚本:python实现动态爱心

文章目录

python实现dynamic heart

效果


代码

python 复制代码
import turtle as tu
import random as ra

tu.setup(0.5, 0.5)  # 设置画板大小(小数表示比例,整数表示大小)
tu.screensize(1.0, 1.0)  # 设置屏幕大小
tu.bgcolor('black')  # 设置画布背景颜色
t = tu.Pen()  # 设置画笔
t.ht()  # 隐藏画笔
# colors = ['pink', 'hotpink', 'deeppink', 'lightpink']  # 爱心的颜色列表,可以设置自己喜欢的颜色噢
colors = ['skyblue', 'lightblue', 'blue', 'royalblue'] # 蓝色系
python 复制代码
class Love():  # 爱心类
    def __init__(self, r):  # 初始化
        self.r = r  # 爱心的半径
        self.x = 0 # 爱心的横坐标
        self.y = 120  # 爱心的纵坐标
        self.color = ra.choice(colors)  # 爱心的颜色
        self.outline = 2 # 爱心的外框大小(可不要)

    def draw(self):  # 画爱心函数,就是用turtle画爱心
        t.pensize(self.outline)
        t.penup()
        t.color(self.color)
        t.goto(self.x, self.y)
        t.pendown()
        # t.begin_fill()
        # t.fillcolor('pink')
        t.setheading(120)
        t.circle(self.r, 195)
        t.fd(self.r * 2.4)
        t.lt(90)
        t.fd(self.r * 2.4)
        t.circle(self.r, 195)
        # t.end_fill()

    def change(self):  # 改变爱心的大小(爱心不断增大)
        if self.r <= 100:
            self.r += 1
        else:
            self.r = 1
            self.x = 0
            self.y = 120
            self.c = ra.choice(colors)
python 复制代码
Loves = []  # 爱心列表
for i in range(200):  # 循环增加爱心
    Loves.append(Love(i+1))
while True:  # 开始画爱心
    tu.tracer(0)
    t.clear()
    for i in range(99):
        Loves[i].draw()
        Loves[i].change()
    tu.update()
tu.mainloop()

因为作者不是研究前端的,这是最后一次写基于turtle的绘图。

Reference

动态图制作网页:https://www.matools.com/gif

gif录制软件:https://n802.com/file/16058819-310706385

相关推荐
Carl_奕然3 分钟前
【智能体】Loop 的四种设计模式之:Verification Loop(2026 最新版)
人工智能·python·设计模式
茉莉玫瑰花茶12 分钟前
线性代数 [ 矩阵乘法与线性变换复合的联系 ]
python·线性代数·math
garmin Chen16 分钟前
Rag引入
python·agent·rag
小oo呆5 小时前
【学习心得】Python多线程
python
星夜离尘568 小时前
MATLAB 工程实验:不等间隔流量积分,先把缺口与覆盖率说清楚
开发语言·matlab·时间戳·数据质量·数值积分
happylifetree8 小时前
Python70:核心语法-函数进阶-案例2
python
Ai-_Man9 小时前
Meta Muse还是不可以导出左侧所有对话,只能点进去单条内容导出,方法不对吗?
开发语言·人工智能·ai·小程序·c#·1024程序员节
梓豪csd9 小时前
消息订阅中心:谁该收到哪条通知
java·开发语言·人工智能·低代码·自动化·1024程序员节
王中阳Go9 小时前
两个入口答案不一致先别调模型:6 行入口口径对账表(附脚本)
人工智能·后端·python·大语言模型·1024程序员节
BK贝壳9 小时前
bool-hybrid-array 落盘我只认 .bha:用 Create_BHA / Ask_BHA 做布尔数组序列化
数据结构·python·numpy·1024程序员节