脚本: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

相关推荐
筏.k41 分钟前
C++ 设计模式系列:生产者-消费者模式完全指南
开发语言·c++·设计模式
liliangcsdn42 分钟前
python如何写数据到excel示例
开发语言·python·excel
CNRio44 分钟前
将word和excel快速转换为markdown格式
python·word·excel
workflower4 小时前
单元测试-例子
java·开发语言·算法·django·个人开发·结对编程
小白银子4 小时前
零基础从头教学Linux(Day 52)
linux·运维·服务器·python·python3.11
YuanlongWang4 小时前
C# 基础——装箱和拆箱
java·开发语言·c#
b78gb4 小时前
电商秒杀系统设计 Java+MySQL实现高并发库存管理与订单处理
java·开发语言·mysql
AAA小肥杨5 小时前
基于k8s的Python的分布式深度学习训练平台搭建简单实践
人工智能·分布式·python·ai·kubernetes·gpu
LXS_3575 小时前
Day 05 C++ 入门 之 指针
开发语言·c++·笔记·学习方法·改行学it
etsuyou7 小时前
js前端this指向规则
开发语言·前端·javascript