小工具知识网

当前位置: 首页 > 行业知识 > Python浪漫520表白代码

行业知识

Python浪漫520表白代码

2026-11-02 23:54:14 来源:互联网转载

系列文章

序号文章目录直达链接
表白系列
1无法拒绝的表白界面https://want595.blog.csdn.net/article/details/134744894
2满屏飘字表白代码https://want595.blog.csdn.net/article/details/135037388
3无限弹窗表白代码https://want595.blog.csdn.net/article/details/134744711
4李峋同款可写字版跳动的爱心https://want595.blog.csdn.net/article/details/134744191
5流星雨https://want595.blog.csdn.net/article/details/134747408
6漂浮爱心https://want595.blog.csdn.net/article/details/134744929
7爱心光波https://want595.blog.csdn.net/article/details/134747365
8玫瑰花https://want595.blog.csdn.net/article/details/134747447
节日系列
1新春/跨年烟花秀(2022)https://want595.blog.csdn.net/article/details/128727394
烟花秀(2023)https://want595.blog.csdn.net/article/details/135042880
粒子烟花https://want595.blog.csdn.net/article/details/136029420
2圣诞节圣诞礼物https://want595.blog.csdn.net/article/details/135336583
圣诞树(2022)https://want595.blog.csdn.net/article/details/128428985
绿色圣诞树(2023)https://want595.blog.csdn.net/article/details/135048607
粉色圣诞树(2023)https://want595.blog.csdn.net/article/details/135043042
3冬至大雪纷飞https://want595.blog.csdn.net/article/details/128806017
4生日生日蛋糕https://want595.blog.csdn.net/article/details/128739755
5儿童节五彩气球https://want595.blog.csdn.net/article/details/128741043
6国庆节国庆祝福https://want595.blog.csdn.net/article/details/128740923
7万圣节万圣礼物https://want595.blog.csdn.net/article/details/128734395
8愚人节愚人代码https://want595.blog.csdn.net/article/details/128696990
9中秋节浪漫星空https://want595.blog.csdn.net/article/details/128737284
10植树节樱花树https://want595.blog.csdn.net/article/details/128700178
动漫系列
1名侦探柯南系列柯南https://want595.blog.csdn.net/article/details/134777613
2喜羊羊与灰太狼系列喜羊羊https://want595.blog.csdn.net/article/details/134778583
懒羊羊https://want595.blog.csdn.net/article/details/134847642
灰太狼https://want595.blog.csdn.net/article/details/135335303
小灰灰https://want595.blog.csdn.net/article/details/135335445
小香香https://want595.blog.csdn.net/article/details/135056783
3海绵宝宝系列海绵宝宝https://want595.blog.csdn.net/article/details/134847364
4哆啦A梦系列哆啦A梦https://want595.blog.csdn.net/article/details/135037884
5HelloKitty系列hellokittyhttps://want595.blog.csdn.net/article/details/135337732
6Tom&Jerry系列Tom&Jerryhttps://want595.blog.csdn.net/article/details/135337775
7草莓熊系列草莓熊https://want595.blog.csdn.net/article/details/135337832
8皮卡丘系列迷你皮卡丘https://want595.blog.csdn.net/article/details/135337911
高级皮卡丘https://want595.blog.csdn.net/article/details/135337937
豪华皮卡丘https://want595.blog.csdn.net/article/details/135337947
炫酷系列
1  一闪一闪亮星星系列张万森下雪了https://want595.blog.csdn.net/article/details/135336915
一闪一闪亮星星https://want595.blog.csdn.net/article/details/135337049
2代码雨https://want595.blog.csdn.net/article/details/135054341
3七彩花朵https://want595.blog.csdn.net/article/details/135056670
43D星空https://want595.blog.csdn.net/article/details/135056516
5金榜题名https://want595.blog.csdn.net/article/details/135056150
6满天星https://want595.blog.csdn.net/article/details/135056305
……

���录

系列文章

前言

表白界面

跳动的爱心

漂浮的爱心

满屏表白代码

尾声


前言

520是每年的5月20日,因数字“520”与“我爱你”发音相似而被许多年轻人用作表达爱意的节日。这个节日起源于中国互联网文化,逐渐传递到其他国家和地区。在这一天,情侣们通常会互送礼物、发表情、或者举行浪漫的活动来庆祝爱情。快来领取专属于程序员的浪漫吧!

表白界面

让人无法拒绝的表白界面!

程序设计 

import tkinter as tkimport tkinter.messageboxroot = tk.Tk()root.title('❤')root.resizable(0, 0)root.wm_attributes("-toolwindow", 1)screenwidth = root.winfo_screenwidth()screenheight = root.winfo_screenheight()widths = 300heights = 100x = (screenwidth - widths) / 2y = (screenheight - heights) / 2root.geometry('%dx%d+%d+%d' % (widths, heights, x, y))  # 设置在屏幕中居中显示tk.Label(root, text='亲爱的,做我女朋友好吗?', width=37, font=('宋体', 12)).place(x=0, y=10)def OK():  # 同意按钮    root.destroy()    # 同意后显示漂浮爱心def NO():  # 拒绝按钮,拒绝不会退出,必须同意才可以退出哦~    tk.messagebox.showwarning('❤', '再给你一次机会!')def closeWindow():    tk.messagebox.showwarning('❤', '逃避是没有用的哦')tk.Button(root, text='好哦', width=5, height=1, command=OK).place(x=80, y=50)tk.Button(root, text='不要', width=5, height=1, command=NO).place(x=160, y=50)root.protocol('WM_DELETE_WINDOW', closeWindow)  # 绑定退出事件root.mainloop()

程序分析 

这段代码使用了Python的Tkinter库来创建GUI界面。在这个程序中,主要有几个组件,如下:

  1. tk.Tk():创建一个主窗口;

  2. root.title():设置窗口的标题,这里设置为’❤’;

  3. root.resizable(0,0):设置窗口大小不可调整,即禁止用户手动调整窗口大小;

  4. root.wm_attributes(“-toolwindow”, 1):设置窗口为工具窗口,即没有最大化、最小化和关闭按钮;

  5. root.geometry():设置窗口的尺寸和位置,这里设置为在屏幕中居中显示;

  6. tk.Label():创建一个标签,用于显示提示信息,这里显示的是“亲爱的,做我女朋友好吗?”;

  7. tk.Button():创建两个按钮,分别用于同意和拒绝,分别绑定了OK()和NO()两个函数;

  8. root.protocol():绑定退出事件,如果用户尝试直接关闭窗口,会弹出警告窗口提醒逃避是没有用的哦;

  9. root.mainloop():程序主循环,保持窗口不关闭。

总的来说,这是一个用Python的Tkinter库编写的表白程序,主要功能是显示一个窗口,问用户是否愿意成为自己的女朋友,提供了"好哦"和"不要"两个按钮让用户选择。如果用户选择同意,窗口会关闭,并且出现一个漂浮的爱心效果;如果用户选择不同意,会弹出警告窗口,提醒再给一次机会。同时,如果用户尝试直接关闭这个窗口,也会弹出警告窗口提醒逃避是没有用的哦。 

跳动的爱心

爆火的跳动的爱心!

完整代码见:https://want595.blog.csdn.net/article/details/134744191

主要的爱心类  

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 - heartx) ** 2 + (y - hearty) ** 2) ** 0.520)  # 魔法参数        dx = ratio * force * (x - heartx) + random.randint(-1, 1)        dy = ratio * force * (y - hearty) + 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.6)            x, y = shrink(x, y, halo_radius)            if (x, y) not in heart_halo_point:                heart_halo_point.add((x, y))                x += random.randint(-14, 14)                y += random.randint(-14, 14)                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._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=heartcolor)

程序分析 

 这部分代码主要是用来产生一个爱心的形状,并将这个爱心以一种缓慢流动的方式展示在屏幕上。这里使用了一个叫Heart的类来实现这个功能。具体来说,这个类包含以下几个方法:

1. __init__():在Heart类初始化时,产生了一些点来组成原始的爱心形状,并扩展出边缘和中心的爱心效果,最后存储在了_points、_edge_diffusion_points、_center_diffusion_points集合中,在__init__()中还使用了calc()方法,产生和存储了动态点坐标,作为后续展示的依据;

2. build():这个方法根据传进来的个数number,随机产生一个坐标点,并计算出由这个坐标点产生的散点点,边缘效果点和中心效果点,并将这些点加入到对应的集合中;

3. calc_position():这个方法用来计算动态效果的点的坐标,x和y是原始的爱心点坐标,ratio是一个缩放比例,用来控制点的运动速度和方向。具体实现方式是根据魔法参数(force)计算出坐标点偏移量(dx和dy),将原始坐标减去这个偏移量后得到新坐标;

4. calc():这个方法根据传进来的帧号(generate_frame),计算每个点运动后的坐标,位置的大小和数量等参数,产生all_points集合,用于后续窗口展示;

5. render():这个方法用于生成窗口显示的效果。根据传进来的画布render_canvas和帧号render_frame,获取动态点(all_points)并将每个点使用create_rectangle()方法在画布上呈现出来,构成了爱心的缓慢流动效果。

总的来说,这部分代码实现了爱心动态效果的核心方法,通过呈现散点、边缘效果点和中心效果点,利用计算动态点的坐标,通过缓慢变化的方式构成了耐人寻味的爱心效果展示。

漂浮的爱心

当然啦,漂浮的爱心也很美!

完整代码见:https://want595.blog.csdn.net/article/details/134744929

主要的爱心类 

class Heart():    #每个爱心(爱心类)    def __init__(self):        self.r = ra.randint(10,15)        #爱心的半径        self.x = ra.randint(-1000,1000)   #爱心的横坐标        self.y = ra.randint(-500,500)     #爱心的纵坐标        self.f = ra.uniform(-3.14,3.14)   #爱心左右移动呈正弦函数        self.speed = ra.randint(5,10)     #爱心移动速度        self.color = ra.choice(colors)    #爱心的颜色        self.outline = 1                  #爱心的外框大小(可不要)    def move(self):                    #爱心移动函数        if self.y 

上一篇:怎么进入dell服务器系统?

下一篇:战地1新手服务器怎么选?