我的编程空间,编程开发者的网络收藏夹
学习永远不晚

爱心代码李峋同款爱心 python html

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

爱心代码李峋同款爱心 python html

目录

前言

一、python

1.python 第一个

2.python第二个

二、HTML

1.第一个

2.第二个html

3.第三个html

3.第四个html

总结


最近那个电视剧很火,就是搞爱心代码的,本人兴趣使然,在网上搜集了一些代码,经过一定修改,做一个小总结。源文件直接免费下载点此处

运行

主要用的包都是那么几个,csdn搜pycharm怎么导包就可以。

1.python 第一个

成品效果

 

调整思路

HEART_COLOR = "#EEAEEE"  #引号内修改颜色!颜色代码放在文章末尾

双引号里面可以在csdn搜RGB颜色,比如这个兄弟的,直接看里面的对照表,把包括#的数字或字母替换就可以换颜色了

代码如下

import randomfrom math import sin, cos, pi, logfrom tkinter import *CANVAS_WIDTH = 840  # 画布的宽CANVAS_HEIGHT = 680  # 画布的高CANVAS_CENTER_X = CANVAS_WIDTH / 2  # 画布中心的X轴坐标CANVAS_CENTER_Y = CANVAS_HEIGHT / 2  # 画布中心的Y轴坐标IMAGE_ENLARGE = 11  # 放大比例HEART_COLOR = "#EEAEEE"  #引号内修改颜色!颜色代码放在文章末尾def heart_function(t, shrink_ratio: float = IMAGE_ENLARGE):    """    “爱心函数生成器”    :param shrink_ratio: 放大比例    :param t: 参数    :return: 坐标    """    # 基础函数    x = 17 * (sin(t) ** 3)    y = -(16 * cos(t) - 5 * cos(2 * t) - 2 * cos(3 * t) - cos(3 * t))    # 放大    #x *= shrink_ratio    #y *= shrink_ratio    x*=IMAGE_ENLARGE    y*=IMAGE_ENLARGE    # 移到画布中央    x += CANVAS_CENTER_X    y += CANVAS_CENTER_Y    return int(x), int(y)def scatter_inside(x, y, beta=0.15):    """    随机内部扩散    :param x: 原x    :param y: 原y    :param beta: 强度    :return: 新坐标    """    ratio_x = - beta * log(random.random())    ratio_y = - beta * log(random.random())    dx = ratio_x * (x - CANVAS_CENTER_X)    dy = ratio_y * (y - CANVAS_CENTER_Y)    return x - dx, y - dydef shrink(x, y, ratio):    """    抖动    :param x: 原x    :param y: 原y    :param ratio: 比例    :return: 新坐标    """    force = -1 / (((x - CANVAS_CENTER_X) ** 2 + (y - CANVAS_CENTER_Y) ** 2) ** 0.6)  # 这个参数...    dx = ratio * force * (x - CANVAS_CENTER_X)    dy = ratio * force * (y - CANVAS_CENTER_Y)    return x - dx, y - dydef curve(p):    """    自定义曲线函数,调整跳动周期    :param p: 参数    :return: 正弦    """    # 可以尝试换其他的动态函数,达到更有力量的效果(贝塞尔?)    return 2 * (2 * sin(4 * p)) / (2 * pi)class Heart:    """    爱心类    """    def __init__(self, generate_frame=20):        self._points = set()  # 原始爱心坐标集合        self._edge_diffusion_points = set()  # 边缘扩散效果点坐标集合        self._center_diffusion_points = set()  # 中心扩散效果点坐标集合        self.all_points = {}  # 每帧动态点坐标        self.build(2000)        self.random_halo = 1000        self.generate_frame = generate_frame        for frame in range(generate_frame):            self.calc(frame)    def build(self, number):        # 爱心        for _ in range(number):            t = random.uniform(0, 2 * pi)  # 随机不到的地方造成爱心有缺口            x, y = heart_function(t)            self._points.add((x, y))        # 爱心内扩散        for _x, _y in list(self._points):            for _ in range(3):                x, y = scatter_inside(_x, _y, 0.05)                self._edge_diffusion_points.add((x, y))        # 爱心内再次扩散        point_list = list(self._points)        for _ in range(10000):            x, y = random.choice(point_list)            x, y = scatter_inside(x, y, 0.27)            self._center_diffusion_points.add((x, y))    @staticmethod    def calc_position(x, y, ratio):        # 调整缩放比例        force = 1 / (((x - CANVAS_CENTER_X) ** 2 + (y - CANVAS_CENTER_Y) ** 2) ** 0.420)  # 魔法参数        dx = ratio * force * (x - CANVAS_CENTER_X) + random.randint(-1, 1)        dy = ratio * force * (y - CANVAS_CENTER_Y) + random.randint(-1, 1)        return x - dx, y - dy    def calc(self, generate_frame):        ratio = 15 * curve(generate_frame / 10 * pi)  # 圆滑的周期的缩放比例        halo_radius = int(4 + 6 * (1 + curve(generate_frame / 10 * pi)))        halo_number = int(3000 + 4000 * abs(curve(generate_frame / 10 * pi) ** 2))        all_points = []        # 光环        heart_halo_point = set()  # 光环的点坐标集合        for _ in range(halo_number):            t = random.uniform(0, 2 * pi)  # 随机不到的地方造成爱心有缺口            x, y = heart_function(t, shrink_ratio=-15)  # 魔法参数            x, y = shrink(x, y, halo_radius)            if (x, y) not in heart_halo_point:                # 处理新的点                heart_halo_point.add((x, y))                x += random.randint(-60, 60)                y += random.randint(-60, 60)                size = random.choice((1, 1, 2))                all_points.append((x, y, size))                all_points.append((x+20, y+20, size))                all_points.append((x-20, y -20, size))                all_points.append((x+20, y - 20, size))                all_points.append((x - 20, y +20, size))        # 轮廓        for x, y in self._points:            x, y = self.calc_position(x, y, ratio)            size = random.randint(1, 3)            all_points.append((x, y, size))        # 内容        for x, y in self._edge_diffusion_points:            x, y = self.calc_position(x, y, ratio)            size = random.randint(1, 2)            all_points.append((x, y, size))        for x, y in self._center_diffusion_points:            x, y = self.calc_position(x, y, ratio)            size = random.randint(1, 2)            all_points.append((x, y, size))        self.all_points[generate_frame] = all_points    def render(self, render_canvas, render_frame):        for x, y, size in self.all_points[render_frame % self.generate_frame]:            render_canvas.create_rectangle(x, y, x + size, y + size, width=0, fill=HEART_COLOR)def draw(main: Tk, render_canvas: Canvas, render_heart: Heart, render_frame=0):    render_canvas.delete('all')    render_heart.render(render_canvas, render_frame)    main.after(1, draw, main, render_canvas, render_heart, render_frame + 1)if __name__ == '__main__':    root = Tk()    canvas = Canvas(root, bg='black', height=CANVAS_HEIGHT, width=CANVAS_WIDTH)    canvas.pack()    heart = Heart()    draw(root, canvas, heart)    root.mainloop()

2.python第二个

成品效果

 

调整思路

HEART_COLOR = "#EEAEEE"  #心的颜色

调整颜色的思路同上

代码如下

import randomfrom math import sin, cos, pi, logfrom tkinter import *CANVAS_WIDTH = 640  # 画布的宽CANVAS_HEIGHT = 480  # 画布的高CANVAS_CENTER_X = CANVAS_WIDTH / 2  # 画布中心的X轴坐标CANVAS_CENTER_Y = CANVAS_HEIGHT / 2  # 画布中心的Y轴坐标IMAGE_ENLARGE = 11  # 放大比例HEART_COLOR = "pink"  # 心的颜色def heart_function(t, shrink_ratio: float = IMAGE_ENLARGE):    """    “爱心函数生成器”    :param shrink_ratio: 放大比例    :param t: 参数    :return: 坐标    """    # 基础函数    x = 16 * (sin(t) ** 3)    y = -(13 * cos(t) - 5 * cos(2 * t) - 2 * cos(3 * t) - cos(4 * t))    # 放大    x *= shrink_ratio    y *= shrink_ratio    # 移到画布中央    x += CANVAS_CENTER_X    y += CANVAS_CENTER_Y    return int(x), int(y)def scatter_inside(x, y, beta=0.15):    """    随机内部扩散    :param x: 原x    :param y: 原y    :param beta: 强度    :return: 新坐标    """    ratio_x = - beta * log(random.random())    ratio_y = - beta * log(random.random())    dx = ratio_x * (x - CANVAS_CENTER_X)    dy = ratio_y * (y - CANVAS_CENTER_Y)    return x - dx, y - dydef shrink(x, y, ratio):    """    抖动    :param x: 原x    :param y: 原y    :param ratio: 比例    :return: 新坐标    """    force = -1 / (((x - CANVAS_CENTER_X) ** 2 + (y - CANVAS_CENTER_Y) ** 2) ** 0.6)  # 这个参数...    dx = ratio * force * (x - CANVAS_CENTER_X)    dy = ratio * force * (y - CANVAS_CENTER_Y)    return x - dx, y - dydef curve(p):    """    自定义曲线函数,调整跳动周期    :param p: 参数    :return: 正弦    """    return 4 * (2 * sin(4 * p)) / (2 * pi)class Heart:    """    爱心类    """    def __init__(self, generate_frame=20):        self._points = set()  # 原始爱心坐标集合        self._edge_diffusion_points = set()  # 边缘扩散效果点坐标集合        self._center_diffusion_points = set()  # 中心扩散效果点坐标集合        self.all_points = {}  # 每帧动态点坐标        self.build(2000)        self.random_halo = 1000        self.generate_frame = generate_frame        for frame in range(generate_frame):            self.calc(frame)    def build(self, number):        # 爱心        for _ in range(number):            t = random.uniform(0, 2 * pi)  # 随机不到的地方造成爱心有缺口            x, y = heart_function(t)            self._points.add((x, y))        # 爱心内扩散        for _x, _y in list(self._points):            for _ in range(3):                x, y = scatter_inside(_x, _y, 0.05)                self._edge_diffusion_points.add((x, y))        # 爱心内再次扩散        point_list = list(self._points)        for _ in range(4000):            x, y = random.choice(point_list)            x, y = scatter_inside(x, y, 0.17)            self._center_diffusion_points.add((x, y))    @staticmethod    def calc_position(x, y, ratio):        # 调整缩放比例        force = 1 / (((x - CANVAS_CENTER_X) ** 2 + (y - CANVAS_CENTER_Y) ** 2) ** 0.520)        dx = ratio * force * (x - CANVAS_CENTER_X) + random.randint(-1, 1)        dy = ratio * force * (y - CANVAS_CENTER_Y) + random.randint(-1, 1)        return x - dx, y - dy    def calc(self, generate_frame):        ratio = 10 * curve(generate_frame / 10 * pi)  # 圆滑的周期的缩放比例        halo_radius = int(4 + 6 * (1 + curve(generate_frame / 10 * pi)))        halo_number = int(3000 + 4000 * abs(curve(generate_frame / 10 * pi) ** 2))        all_points = []        # 光环        heart_halo_point = set()  # 光环的点坐标集合        for _ in range(halo_number):            t = random.uniform(0, 2 * pi)  # 随机不到的地方造成爱心有缺口            x, y = heart_function(t, shrink_ratio=11)            x, y = shrink(x, y, halo_radius)            if (x, y) not in heart_halo_point:                # 处理新的点                heart_halo_point.add((x, y))                x += random.randint(-11, 11)                y += random.randint(-11, 11)                size = random.choice((1, 2, 2))#控制外围粒子的大小                all_points.append((x, y, size))        # 轮廓        for x, y in self._points:            x, y = self.calc_position(x, y, ratio)            size = random.randint(1, 3)            all_points.append((x, y, size))        # 内容        for x, y in self._center_diffusion_points:            x, y = self.calc_position(x, y, ratio)            size = random.randint(1, 2)            all_points.append((x, y, size))        self.all_points[generate_frame] = all_points    def render(self, render_canvas, render_frame):        for x, y, size in self.all_points[render_frame % self.generate_frame]:            render_canvas.create_rectangle(x, y, x + size, y + size, width=0, fill=HEART_COLOR)def draw(main: Tk, render_canvas: Canvas, render_heart: Heart, render_frame=0):    render_canvas.delete('all')    render_heart.render(render_canvas, render_frame)    main.after(160, draw, main, render_canvas, render_heart, render_frame + 1)if __name__ == '__main__':    root = Tk()  # 一个Tk    canvas = Canvas(root, bg='black', height=CANVAS_HEIGHT, width=CANVAS_WIDTH)    canvas.pack()    heart = Heart()  # 心    draw(root, canvas, heart)  # 开始画画~    root.mainloop()

html的个人感觉更好,因为有浏览器就支持运行,py的后期得导出成exe才可以在没有环境设备运行,html手机电脑都可以的。

1.第一个

输出样例

调整

canvas爱心   这个canvas爱心字样随便调整可以自己编辑TA的名字之类的

代码如下

canvas爱心

 

2.第二个html

输出示例

调整一样方式

代码如下(这是看这个博主的):

        💗    

3.第三个html

样子

 

备注

这个我个人感觉还是蛮好看的,值得注意的是,里面的字是也能动的,可以把♥瓜瓜♥改成你想要的字眼(代码里面ctrl+f 找瓜瓜字眼 替换即可),titile也同理

代码

        💗 Love you 💗 My Dear 瓜瓜💗                              

3.第四个html

样例

 代码调整思路

x位置直接记事本打开ctrl+f 找亲爱的 编辑文案

然后对这行字的编辑(样式上)

是这个,改这里的信息就行哪个参数不会就搜一下他的作用 比如第一行是字体,你可以百度html字体 比如这个大佬写的博客,都是一样道理。

代码

     LoveHTT      love                         

💗致亲爱的X女士


本文简单介绍了几种爱心代码,希望对大家有所帮助,求赞欧~~~
另外,python想送给你的那个 TA的话可以打包为exe的,我后期再补一下教程,然后运行有问题的可以在评论区说明~

来源地址:https://blog.csdn.net/CL_Young/article/details/127808312

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

爱心代码李峋同款爱心 python html

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么用python代码画爱心

这篇文章主要介绍“怎么用python代码画爱心”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用python代码画爱心”文章能帮助大家解决问题。代码:效果图:但左看右看,觉得背后的逻辑,比如for
2023-06-29

python爱心代码编程怎么写

步骤为:1、确定爱心的样式和大小。在纸上画出你想要的爱心形状,然后将其转化为字符打印的方式;2、创建一个列表,用来存储爱心的每一行字符;3、根据爱心的形状,将每一行的字符添加到列表中。可以使用空格、星号等字符来表示爱心的形状;4、使用循环遍
python爱心代码编程怎么写
2023-11-20

HTML很火的浪漫爱心表白代码

程序员的你是不是也想送个特别的礼物。今天给大家分享一个HTML+CSS+jQuery实现的情侣浪漫爱心表白JS特效,视觉效果还是相当不错!得此表白神器,程序猿也可以很浪漫!快去追你的女神吧,把这个告白爱心动画发给你心爱的她!
2023-01-01

六行python代码的爱心曲线

喔家ArchiSelf前些日子在做绩效体系的时候,遇到了一件囧事,居然忘记怎样在Excel上拟合正态分布了,尽管在第二天重新拾起了Excel中那几个常见的函数和图像的做法,还是十分的惭愧。实际上,当时有效偏颇了,忽略了问题的本质,解决数据分
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录