对于程序员来说,情人节表白当然少不了代码打辅助。小笨聪这次给大家带来两份不同的表白代码(Python版),原理都很基础,第一份主要用到pygame库,第二份主要用到turtle库[附:小笨聪的运行环境是Pycharm配合Anaconda]。

第一份代码

(1)分别设计按钮、标题和点击后的随机坐标

# 按钮

def button(text, x, y, w, h, color, screen):

pygame.draw.rect(screen, color, (x, y, w, h))

font = pygame.font.Font('./font/simkai.ttf', 20)

textRender = font.render(text, True, (0, 0, 0))

textRect = textRender.get_rect()

textRect.center = ((x+w/2), (y+h/2))

screen.blit(textRender, textRect)

# 标题

def title(text, screen, scale, color=(255, 0, 0)):

font = pygame.font.Font('./font/simkai.ttf', WIDTH//(len(text)*2))

textRender = font.render(text, True, color)

textRect = textRender.get_rect()

textRect.midtop = (WIDTH/scale[0], HEIGHT/scale[1])

screen.blit(textRender, textRect)

# 生成随机的位置坐标

def get_random_pos():

x, y = random.randint(20, 620), random.randint(20, 460)

return x, y

(2)点击“喜欢”按钮后显示的页面

def show_like_interface(text, screen, color=(255, 0, 0)):

screen.fill(BACKGROUND)

font = pygame.font.Font('./font/simkai.ttf', WIDTH//(len(text)))

textRender = font.render(text, True, color)

textRect = textRender.get_rect()

textRect.midtop = (WIDTH/2, HEIGHT/2)

screen.blit(textRender, textRect)

pygame.display.update()

while True:

for event in pygame.event.get():

if event.type == QUIT:

pygame.quit()

sys.exit()

(3)循环获取鼠标位置

通过不断捕获鼠标位置,当检测到鼠标出现在我们不希望被点击的按钮上时,就改变该按钮的位置,使得对方无法点击到该按钮。

while running:

screen.fill(BACKGROUND)

img = pygame.image.load("./imgs/1.png")

imgRect = img.get_rect()

imgRect.midtop = WIDTH//2, HEIGHT//4

screen.blit(img, imgRect)

for event in pygame.event.get():

if event.type == pygame.MOUSEBUTTONDOWN:

mouse_pos = pygame.mouse.get_pos()

if mouse_pos[0] < like_pos_x+like_pos_width+5 and mouse_pos[0] > like_pos_x-5 and\

mouse_pos[1] < like_pos_y+like_pos_height+5 and mouse_pos[1] > like_pos_y-5:

like_color = BACKGROUND

running = False

mouse_pos = pygame.mouse.get_pos()

if mouse_pos[0] < unlike_pos_x+unlike_pos_width+5 and mouse_pos[0] > unlike_pos_x-5 and\

mouse_pos[1] < unlike_pos_y+unlike_pos_height+5 and mouse_pos[1] > unlike_pos_y-5:

while True:

unlike_pos_x, unlike_pos_y = get_random_pos()

if mouse_pos[0] < unlike_pos_x+unlike_pos_width+5 and mouse_pos[0] > unlike_pos_x-5 and\

mouse_pos[1] < unlike_pos_y+unlike_pos_height+5 and mouse_pos[1] > unlike_pos_y-5:

continue

break

title('婲丫头,我观察你很久了', screen, scale=[2, 10])

title('做我女朋友好不好呀', screen, scale=[2, 6])

button('好呀', like_pos_x, like_pos_y, like_pos_width, like_pos_height, like_color, screen)

button('算了吧', unlike_pos_x, unlike_pos_y, unlike_pos_width, unlike_pos_height, (255, 0, 255), screen)

pygame.display.flip()

pygame.display.update()

clock.tick(60)

show_like_interface

运行效果python代码表白小姐姐(1)https://www.zhihu.com/video/1079804725163233280

大家在运行这两份代码时,只需将你想表白的对象名字换一下即可;另外,将代码打包成exe文件运行更方便,打包的方法我已经写在源码里了。

第二份代码

(1)定义“喜欢”按钮的提示

def Love():

love = Toplevel(window)

love.geometry("300x100+250+260")

love.title("我也喜欢你")

label = Label(love, text = "嘻嘻,傻丫头,我也喜欢你!",font = ("微软雅黑",15))

label.pack()

btn = Button(love,text = "得了吧",width = 10,height = 2,command=closeallwindow)

btn.pack()

love.protocol("WM_DELETE_WINDOW", closelove)

(2)定义“不喜欢”按钮的提示

def noLove():

no_love = Toplevel(window)

no_love.geometry("300x100+520+260")

no_love.title("重新选")

label = Label(no_love,text="乖乖回去重新选!",font = ("微软雅黑",15))

label.pack()

btn = Button(no_love,text="烦你", width=10, height=2,command=no_love.destroy)

btn.pack()

no_love.protocol("WM_DELETE_WINDOW",closenolove)

(3)利用turtle设计窗口并添加插件

window = Tk() # 创建窗口

window.title("喜欢我吗?") # 窗口标题

window.geometry("380x420+500+240") # 窗口大小

btn=Button(text="确定")

window.protocol("WM_DELETE_WINDOW",closeWindow )

label = Label(window,text = "hey,婲丫头",font = ("微软雅黑",15),fg = "red")#标签控件

label.grid(row = 0, column = 0 )

label = Label(window,text = "你喜欢我吗?",font = ("微软雅黑",20))

label.grid(row = 1, column = 1,sticky = E)

photo = PhotoImage(file = "./123.png") # 插入图片

imageLable = Label(window,image = photo)

imageLable.grid(row = 2,columnspan = 2)

# 喜欢按钮插件

btn = Button(window,text="喜欢",width=15,height=2,command=Love)

btn.grid(row=3,column=0,sticky= W)

# 不喜欢按钮插件

btn = Button(window,text="不喜欢" ,command=noLove)

btn.grid(row=3,column=1,sticky= E)

# 显示窗口 消息循环

window.mainloop()

运行效果python代码表白小姐姐(2)https://www.zhihu.com/video/1079805712426782720

以上就是情人节表白代码的分析与运行效果。

微信公众号“学编程的金融客”后台回复“214表白代码”获取源码用Python代码花式表白小姐姐,她会不会生气啊​mp.weixin.qq.com你的点赞就是对我最大的支持!微信公众号二维码

使用python代码表白_用Python代码花式表白小姐姐,她会不会生气啊相关推荐

  1. python 概率分布模型_使用python的概率模型进行公司估值

    python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...

  2. python 时间序列预测_使用Python进行动手时间序列预测

    python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...

  3. c++代码好玩_一行Python代码能干嘛?快来看看吧!有表白利器哦

    python有很多优雅有趣的代码写法,同时还很简短,以至于当我刚开始接触这个编程语言的时候,就爱不释手.而前几天的编程语言榜单中python也超越了java成为了第一,挺替python开心的.pyth ...

  4. python函数增强代码可读性_如何提高代码的可读性 学习笔记

    本文整理自 taowen 师傅在滴滴内部的分享. 1.Why 对一线开发人员来说,每天工作内容大多是在已有项目的基础上继续堆代码.当项目实在堆不动时就需要寻找收益来重构代码.既然我们的大多数时间都花在 ...

  5. python编码尺寸_基于Python批量生成指定尺寸缩略图代码实例

    这篇文章主要介绍了基于Python批量生成指定尺寸缩略图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 最近我们商城上架的应用越来越丰富了. ...

  6. 用python实现点阵屏_用Python代码来绘制彭罗斯点阵的教程

    这里是显示彭罗斯点阵的Python的脚本.是的,这是可以运行的有效Phython代码. 译注:彭罗斯点阵,物理学术语.上世纪70年代英国数学家彭罗斯第一次提出了这个概念,称为彭罗斯点阵(Pen-ros ...

  7. python植物大战僵尸代码例_用Python实现植物大战僵尸游戏,很酷

    以前很火的植物大战僵尸游戏, 本想在网上找个python版本游戏学习下,无奈没有发现比较完整的,那就自己来写一个把.图片资源是从github上下载的,因为图片资源有限,只能实现几种植物和僵尸. 功能实 ...

  8. python登录代码思路_用python登录Dr.com思路以及代码分享

    用python登录Dr.com思路以及代码分享 发布于 2014-08-28 22:31:52 | 192 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python 是一种面向对 ...

  9. python网页版_经典python学习教程:20行代码打造一个微信群聊助手,解放双手

    今天的Python学习教程教大家如何用20行Python代码实现微信群聊助手,可以用来活跃群气氛,好多群主创建完群后,拉完一群人,之后就一片寂静,有个群聊助手,就可以帮忙活跃群里气氛,通过今天在自己的 ...

最新文章

  1. MIT提出Liquid机器学习系统,可像液体一样适应动态变化
  2. 电子小帮手电路中电源开关电路分析
  3. 区分一下强制类型转换运算符重载/赋值运算符重载/对象定义的赋值
  4. ubuntu16.04 xfce4的鼠标主题设置为oxygen-red、修改文件夹背景颜色、两处系统字体设置、右键菜单添加压缩解压选项
  5. [pytorch、学习] - 3.10 多重感知机的简洁实现
  6. I00011 打印包含7的三位数
  7. 【VISIO安装问题】无法安装64位版本的office,因为在您的PC上找到以下32位程序
  8. Python 音频文件批量切割
  9. MATLAB解决常微分方程
  10. 网站制作必备-在线按钮生成器,LOGO生成器,背景生成器,ICO图标生成器,和许多在线小工具...
  11. 15亿美元买个“便宜货”
  12. 2022-2028全球环氧水泥地坪漆行业调研及趋势分析报告
  13. win10微信打电话对方听不到你的声音,你能听到对方声音
  14. 翁恺老师c语言课程笔记
  15. Dadroit JSON Viewer 查看json文件的利器
  16. 内部存储器——③主存储器
  17. 为什么用python画图_怎么用python画图
  18. DirectDraw学习:第一课
  19. 音视频社交的应用和优势
  20. C语言基础——运算符(定义变量、转义字符、输入输出语句、运算符、32个关键字)

热门文章

  1. 订货管理系统远不只订货,它还有这些作用...
  2. 基于MSP430G2231实现的频率计
  3. iOS - DZNEmptyDataSet空白页
  4. 谁说菜鸟不会数据分析-入门篇
  5. ❤leetcode,python2❤最大子序和
  6. Ubuntu/CentOS配置主机名IP映射关系
  7. DDR和DDR2详细介绍
  8. 一分二功率分配器_三种一分三路等功率分配器的性能比较
  9. flutterapp部分手机无法打开_无法运行啊 · Issue #4 · shichunlei/flutter_app · GitHub
  10. 计算机磁盘格式化,电脑磁盘格式化问题如何解决?其实很简单