Python恋爱小助手之必拿下

目录
  • 导语
    • ​​​​​​​Ps——小故事
  • 正文
    • 一、Part 1 表白篇—界面化表白小程序
      • 1)环境安装
      • 2)素材自备
      • 3)正式敲代码
      • 4)效果图
    • 二、Part 2 表白篇—字符画表白小程序
      • 1)环境安装
      • 2)素材自备
      • 3)  正式敲代码
      • 4)效果图
  • 总结

导语

害!现在是10月份了,国庆过完也降温了——还有几个月就过年了,哦吼~

这一年就快过去了,不知道小编带给大家这么多的表白代码都用了没?用了没吖?如果没用的话小编会继续助攻!

不知道各位单身人士,有没有人从单身dog进化为秀恩爱dog撒~

​​​​​​​Ps——小故事

在我大四的时候,就有一个计算机的朋友用自己做的代码感动了一个数学系的女生。

就是下面这种。(这个爱心是词云图制作而成的!)也不知道为什么妹子放弃了全班40多位帅哥(没错,他们班就她一

个女生),而选择了头发日渐稀疏已经“六月怀胎”的我——朋友。

今天,我就来教大家一下,如何用Python做二份特别的礼物送给自己的恋人。

当然了,如果还是单身的,也可以把这个作为表白神器,跟心爱的人表白。

懂编程的就看下面的吧!送上这份礼物之后,保证你明晚.....巫山云雨后,天气晚来秋啊!嘿嘿嘿嘿~

正文

你是不是喜欢我?好巧,我也是吖~

一、Part 1 表白篇—界面化表白小程序

1)环境安装

本文是基于Tkinter的界面化小程序,准备好相应的安装环境素材如下:

Python3、Pycharm、Pygame模块以及一些自带的就不说啦!

统一安装模块命令:​pip install -i https://pypi.douban.com/simple/ +模块名

2)素材自备

这边小编准备的部分图片如下:

一些背景音乐、字体当然也要准备好滴哈:

3)正式敲代码

3.1 先介绍下代码部分单词的作用

Function:
	按钮类
Initial Args:
	--x, y: 按钮左上角坐标
	--width, height: 按钮宽高
	--text: 按钮显示的文字
	--fontpath: 字体路径
	--fontsize: 字体大小
	--fontcolor: 字体颜色
	--bgcolors: 按钮背景颜色
	--is_want_to_be_selected: 按钮是否想被玩家选中
	--screensize: 软件屏幕大小
'''

3.2 配置一些界面窗口的小设置

# 窗口大小(width, height)
SCREENSIZE = (500, 260)
# 定义一些颜色
RED = (255, 0, 0)
BLACK = (0, 0, 0)
AZURE = (240, 255, 255)
WHITE = (255, 255, 255)
MISTYROSE = (255, 228, 225)
PALETURQUOISE = (175, 238, 238)
PAPAYAWHIP = (255, 239, 213)
LIGHTGRAY = (211, 211, 211)
GAINSBORO = (230, 230, 230)
WHITESMOKE = (245, 245, 245)
DARKGRAY = (169, 169, 169)
BLUE = (0, 0, 255)
DEEPSKYBLUE = (0, 191, 255)
SKYBLUE = (135, 206, 235)
LIGHTSKYBLUE = (135, 206, 250)
# 背景音乐路径
BGM_PATH = os.path.join(os.getcwd(), 'resources/music/bgm.mp3')
# 字体路径
FONT_PATH = os.path.join(os.getcwd(), 'resources/font/STXINGKA.TTF')
# 背景图片路径
BG_IMAGE_PATH = os.path.join(os.getcwd(), 'resources/images/01.jpg')
# ICON路径
ICON_IMAGE_PATH = os.path.join(os.getcwd(), 'resources/images/icon.png')

3.3 主函数

def main():
	# 初始化
	pygame.init()
	screen = pygame.display.set_mode(cfg.SCREENSIZE, 0, 32)
	pygame.display.set_icon(pygame.image.load(cfg.ICON_IMAGE_PATH))
	pygame.display.set_caption('你知道嘛?')
	# 背景音乐
	pygame.mixer.music.load(cfg.BGM_PATH)
	pygame.mixer.music.play(-1, 30.0)
	# biu爱心那个背景图片
	bg_image = pygame.image.load(cfg.BG_IMAGE_PATH)
	bg_image = pygame.transform.smoothscale(bg_image, (150, 150))
	# 实例化两个按钮
	button_yes = Button(x=20, y=cfg.SCREENSIZE[1]-70, width=120, height=35,
						text='愿意', fontpath=cfg.FONT_PATH, fontsize=15, fontcolor=cfg.BLACK, edgecolor=cfg.SKYBLUE,
						edgesize=2, bgcolors=[cfg.DARKGRAY, cfg.GAINSBORO], is_want_to_be_selected=True, screensize=cfg.SCREENSIZE)
	button_no = Button(x=cfg.SCREENSIZE[0]-140, y=cfg.SCREENSIZE[1]-70, width=120, height=35,
					   text='不愿意', fontpath=cfg.FONT_PATH, fontsize=15, fontcolor=cfg.BLACK, edgecolor=cfg.DARKGRAY,
					   edgesize=1, bgcolors=[cfg.DARKGRAY, cfg.GAINSBORO], is_want_to_be_selected=False, screensize=cfg.SCREENSIZE)
	# 是否点击了好呀按钮
	is_agree = False
	# 主循环
	clock = pygame.time.Clock()
	while True:
		# --背景图片
		screen.fill(cfg.WHITE)
		screen.blit(bg_image, (cfg.SCREENSIZE[0]-bg_image.get_height(), 0))
		# --鼠标事件捕获
		for event in pygame.event.get():
			if event.type == pygame.QUIT:
				# ----没有点击好呀按钮之前不许退出程序
				if is_agree:
					pygame.quit()
					sys.exit()
			elif event.type == pygame.MOUSEBUTTONDOWN and event.button:
				if button_yes.rect.collidepoint(pygame.mouse.get_pos()):
					button_yes.is_selected = True
					root = Tk()
					root.withdraw()
					messagebox.showinfo('', '永远爱你')
					root.destroy()
					is_agree = True
		# --显示文字
		showText(screen=screen, text='自从我们相遇的那一刻,', position=(40, 50),
				 fontpath=cfg.FONT_PATH, fontsize=25, fontcolor=cfg.BLACK, is_bold=False)
		showText(screen=screen, text='你是我白天黑夜不落的星!', position=(40, 100),
				 fontpath=cfg.FONT_PATH, fontsize=25, fontcolor=cfg.BLACK, is_bold=True)
		# --显示按钮
		button_yes.draw(screen, pygame.mouse.get_pos())
		button_no.draw(screen, pygame.mouse.get_pos())
		# --刷新
		pygame.display.update()
		clock.tick(60)

4)效果图

运行代码之后——背景音乐一上来就有那个味儿了~嘿嘿 超浪漫,界面也很好看的吖——想要什么字体、界面可以自己设置修改优化的!

4.1 自从我们相遇的那一刻,你是我白天黑夜不落的星。 ——莱蒙托夫《乌黑的眼睛》

4.2 我会不爱你吗?不爱你?不会,爱你就像爱生命。——王小波

4.3​ 情侣超甜——甜度爆表啊!哈哈哈啊

二、Part 2 表白篇—字符画表白小程序

1)环境安装

相应的安装环境素材如下:

Python3、Pycharm、Pillow模块以及一些自带的就不说啦!

统一安装模块命令:​pip install -i https://pypi.douban.com/simple/ +模块名

2)素材自备

这边小编准备的部分图片如下:

3)  正式敲代码

3.1主要代码

#-*- coding=utf-8 -*-

from PIL import Image

IMG = '02.jpg'      #设置图片文件
WIDTH = 150     #设置字符画的宽
HEIGHT = 80     #设置字符画的高
OUTPUT = 'ym.txt'      #设置存放字符画的文本文件
ascii_char = list("我喜欢你")    #设置显示的字符集

#将256灰度映射到70个字符上
def get_char(r,g,b,alpha = 256):
    #alpha为透明度
    # 判断 alpha 值,为0表示全透明
    if alpha == 0:
        return ' '

    # 获取字符集的长度,这里为 70
    length = len(ascii_char)
    # 将 RGB 值转为灰度值 gray,灰度值范围为 0-255
    gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b)

    # 灰度值范围为 0-255,而字符集只有 70
    # 需要进行如下处理才能将灰度值映射到指定的字符上
    #防止当灰度值为255时,输出的第70个字符超出列表索引,所以需要将(255+1)
    unit = (255.0 + 1)/length

    # 返回灰度值对应的字符
    return ascii_char[int(gray/unit)]

if __name__ == '__main__':

    # 打开并调整图片的宽和高
    im = Image.open(IMG)
    im = im.resize((WIDTH,HEIGHT), Image.NEAREST)

    # 初始化输出的字符串
    txt = ""

    # 遍历图片中的每一行
    for i in range(HEIGHT):
        # 遍历该行中的每一列
        for j in range(WIDTH):
            # 将 (j,i) 坐标的 RGB 像素转为字符后添加到 txt 字符串
            txt += get_char(*im.getpixel((j,i)))
        # 遍历完一行后需要增加换行符
        txt += '\n'
    # 输出到屏幕
    print(txt)
    with open(OUTPUT,'w') as f:
        f.write(txt)

4)效果图

4.1 图跟文字选的不好,所以效果有点儿社会性死亡了!哈哈哈~尴尬的笑笑缓解一下,不要是去表白的结果变成分手了哈!

4.2 这张图选择我估计看不出来是个人了!所以说——选择图片跟文字是有技巧的,只是我比较懒!

总结

“余生很长,想和你没完没了”——所以看到这里的小伙伴儿记得收藏哦!哈哈哈

好啦 !这二款表白的代码就写到这里了哈,是不是今天又学到了一招会撩妹纸撩汉子的小技巧。赶快自己去试试吧~

你们的支持是我最大的动力!!mua 欢迎大家阅读往期的文章哦~

到此这篇关于Python恋爱小助手之必拿下的文章就介绍到这了,更多相关Python 恋爱小程序内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 我在七夕佳节用Python制作的表白神器,程序员也应该拥有爱情!建议收藏

    前言 七夕佳节又双叒叕来了! 七夕来了,指南也总得送点什么给大家表示一下,在这个洋溢着甜美爱情的节日里,程序员也应该拥有爱情!今天在这里就给大家分享一个Python仿制抖音表白小软件 废话不多说,让我们看似"愉快"地开始吧~ 效果展示 普通人表白 程序员表白 开发工具 Python版本: 3.6.4 相关模块: requests模块: argparse模块: pyquery模块: jieba模块: pyecharts模块: wordcloud模块: 以及一些Python自带的模块. 原

  • Python绘制的爱心树与表白代码(完整代码)

    Python给女朋友带来的快乐 用的的开发工具为pycham,pycham也是广泛用于做Python开发的工具.运用的turtle库,当然了如果是安装了anaconda3这个库那更好,以为这里面有我们会做Python程序设计时用到的大部分的库,turtle它是python中一个绘制图像的函数库,可以用它来绘制很多的东西,比如简单的小黄人.玫瑰花等,这个库也可以生说是一只马良的神笔的吧.比如以下是为女朋友准备的小小的惊喜吧. 1.爱心树 import turtle import random de

  • 程序员的七夕用30行代码让Python化身表白神器

    转眼又到了咱们中国传统的情人节七夕了,今天笔者就带大家来领略一下用Python表白的方式.让程序员的恋人们感受一下IT人的浪漫.    一.词云制作 首先咱们可以用之前介绍过的wordcould包制作词云.wordcloud包安装十分简单.pip即可完成安装 pip install wordclould 然后需要制作一个背景图片,为了应急我用艺术字做了个七夕的图片,如果大家来不及直接图片另存为使用下图即可. 具体制作的词云的代码如下: from wordcloud import WordClou

  • Python浪漫玫瑰盛开表白源代码

    导语 暗恋让人受尽委屈!一开始,你是我的秘密,我怕你知道,又怕你不知道,又怕你知道装作不知道! 这大概就是暗恋的感受吧,可若是双向奔赴,那简更是甜蜜度爆表,快同小编吃下这波狗粮! 跟着上一期的玫瑰花花样表白之后,小编新出了2款新型升级之后的表白代码! 花样表白总有一款是你喜欢的!效果满分~ 正文 还是熟悉的配方!熟悉的味道! 盛开的蓝玫瑰 效果如下: 附源码: t.setup(800,800) t.hideturtle() t.speed(11) t.penup() t.goto(50,-450

  • 520使用Python实现“我爱你”表白

    摘要: 每到情人节.七夕节,不少小伙伴大伙伴们都会遇到这样一个世纪问题--怎么给女朋友/老婆一个与众不同的节日惊喜.今天给大家分享一个独特的表白方法--用"我爱你"拼出心爱人的模样! 每到情人节.七夕节,不少小伙伴大伙伴们都会遇到这样一个世纪问题--怎么给女朋友/老婆一个与众不同的节日惊喜. 你说送花吧,到时候朋友圈里一划,全部都是送花的,女票:"没创意!",遂卒: 你说送礼物吧,要是送的礼物不合心意,女票:"你根本不懂我!",又卒: 你说逛街买

  • Python恋爱小助手之必拿下

    目录 导语 ​​​​​​​Ps--小故事 正文 一.Part 1 表白篇-界面化表白小程序 1)环境安装 2)素材自备 3)正式敲代码 4)效果图 二.Part 2 表白篇-字符画表白小程序 1)环境安装 2)素材自备 3)  正式敲代码 4)效果图 总结 导语 害!现在是10月份了,国庆过完也降温了--还有几个月就过年了,哦吼~ 这一年就快过去了,不知道小编带给大家这么多的表白代码都用了没?用了没吖?如果没用的话小编会继续助攻! 不知道各位单身人士,有没有人从单身dog进化为秀恩爱dog撒~

  • 基于Python的自媒体小助手---登录页面的实现代码

    核心技术:Python3.7 GUI技术:Tkinter (Python已经内置) 好多文章写Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) 我看了N遍也没够好多东西都没有就基本的介绍...还不够.我搞这个也是为了项目服务先给大家来个截图吧,其实知识点还是蛮多的. 在window上有点瑕疵了,在mac上海可以吧.使用到的技术我罗列一下完了在分享给大家代码. 1.窗体设置标题和设置图标,图标格式是ICO的,一般我们事宜Png转一下.https://www.easyicon.

  • Python天气语音播报小助手

    导语​ 马上就要迎来国庆小长假了~激不激动,兴不兴奋!​ ​ 那今年国庆:天气怎么样?能不能出门逛街?能不能出去旅游? -- 来来来,木木子为你整理好啦!​​这个假期,你那里的天气如何? ​ 正文 旅游出门就要挑个好的天气!下雨天哪儿哪儿都不舒服. 今天小编带大家写一款Python天气语音播报小助手! 环境安装:Python3.6.pycharm2021.及自带的模块等. pip install -i https://pypi.douban.com/simple/ requests pip in

  • 用python基于appium模块开发一个自动收取能量的小助手

    导语 ​ 昨天楼下买东西,超市老板居然让我加他支付宝好友???? 嗯哼!对啦,我也很疑惑来着!! 当时以为是方便下次买东西,哦吼也没多想,早上起来睁着我睡眼惺忪的熊猫眼,完了,我的能量都被偷完了! 对!今天木木子教大家种"树"!大家还记得蚂蚁森林叭,轻轻松松手机上就可以种树了! ​ 正文 本文是基于appium模块开发的自动收取能量的小助手! 参数配置如下: desired_caps = { "platformName": "Android",

  • Python实现B站UP主小助手详解开发流程

    功能点 显示日期时间 显示树莓派当前局域网IP 显示当前UP主粉丝数 显示B站未读消息 显示B站视频总计播放数 显示视频总计获赞数 显示总计获得充电次数 显示直播间人气值 显示直播间弹幕 将直播间弹幕念出来(TTS) 大家好,我是 大帅 ,一个 老 程序 猿 . 这是我第一次写Python哟,写得不好请多多指教 前言 前段时间在掘金社区写文章,得了一台 树莓派3B ,加上之前在闲鱼曾经淘到一块 1280x400 的长条屏,就想着把一直想要的哔哩哔哩UP主助手给完成了. 先上效果 有弹幕的时候是这

  • 基于Python实现西西成语接龙小助手

    目录 介绍 爬虫模块 前缀树搜索提示 成语接龙 介绍 代码地址:https://github.com/taishan1994/chinese_chengyujielong 读完该文,你可以收获: python爬虫的简单使用. 构建前缀树以进行搜索提示. 构建一个简单的成语接龙小程序. 爬虫模块 首先展示下我们最终获得的成语的数据: ,成语,拼音,成语解释,典故出处,近义词,反义词,常用程度,感情色彩,语法用法,成语结构,产生年代,英文翻译,成语谜面 0,阿匼取容,ē ǎn qǔ róng,阿匼:

  • 用Python做一个久坐提醒小助手的示例代码

    不论是日常的工作还是学习,现代年轻人在电脑屏幕时长数据能让人惊掉下巴,继而引发一系列身体不适的现象.小李也是久坐族中的一员,为了时刻提醒自己起来活动活动,我开发了一款基于PythonGUI编程的久坐提醒小助手. 整体设计 整体的构思类似于一个番茄时钟,提供一个倒计时功能并且在完成计时时发出警告.主要分为如下几个模块,一是时间选择模块,二是按钮模块,控制计时开始.暂停以及恢复,三是倒计时显示模块,并在倒计时完成之后发出警告. 模块一 这一块主要是组合框的设计,并传递所选择时间的具体数值,非常简单.

  • 老生常谈python的私有公有属性(必看篇)

    python中,类内方法外的变量叫属性,类内方法内的变量叫字段.他们的私有公有访问方法类似. class C: __name="私有属性" def func(self): print(C.__name) class sub_C(C): def info(self): print(C.__name)#派生类中不可以访问父类的私有字段 obj=C() obj.func() obj=sub_C() obj.info() 方法.属性的访问于上述方式相似,即:私有成员只能在类内部使用 以上这篇老

  • 老生常谈python函数参数的区别(必看篇)

    在运用python的过程中,发现当函数参数为list的时候,在函数内部调用list.append()会改变形参,与C/C++的不太一样,查阅相关资料,在这里记录一下. python中id可以获取对象的内存地址 >>> num1 = 10 >>> num2 = num1 >>> num3 = 10 >>> id(num1) >>> id(num2) >>> id(num3) 可以看到num1.num2

  • Python编码爬坑指南(必看)

    自己最近有在学习python,这实在是一门非常短小精悍的语言,很喜欢这种语言精悍背后又有强大函数库支撑的语言.可是刚接触不久就遇到了让人头疼的关于编码的问题,在网上查了很多资料现在在这里做一番总结,权当一个记录也为后来的兄弟姐妹们服务,如果可以让您少走一些弯路本人将倍感荣幸. 先来描述下现象吧: import os for i in os.listdir("E:\Torchlight II"): print i 代码很简单我们使用os的listdir函数遍历了E:\Torchlight

随机推荐