用 Python 实现一个七夕表白神器,快快敲起来吧
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理
以下文章来源于腾讯云 作者:Python小二
( 想要学习Python?Python学习交流群:1039649593,满足你的需求,资料都已经上传群文件流,可以自行下载!还有海量最新2020python学习资料。 )
今天是七夕节,相比于现代人自创的 502,不对是 520,七夕才是中国传统意义上的情人节,本文分享几个 Python 表白程序,情侣可以现学现用,单身的话也可以先收藏一下,说不定下次就用上了。
爱心树
首先,我们来画一棵长满爱心果实的树。
主要实现代码:
# 画爱心
def love(x, y): lv = turtle.Turtle()lv.hideturtle()lv.up()# 定位lv.goto(x, y)# 画圆弧def curvemove(): for i in range(20):lv.right(10)lv.forward(2)lv.color('red', 'pink')lv.speed(10000000)lv.pensize(1)lv.down()lv.begin_fill()lv.left(140)lv.forward(22)curvemove()lv.left(120)curvemove()lv.forward(22)# 画完复位lv.left(140) lv.end_fill()# 画树
def tree(branchLen, t):# 剩余树枝太少要结束递归if branchLen > 5:# 如果树枝剩余长度较短则变绿if branchLen < 20: t.color("green")t.pensize(random.uniform((branchLen + 5) / 4 - 2, (branchLen + 6) / 4 + 5))t.down()t.forward(branchLen)love(t.xcor(), t.ycor()) t.up()t.backward(branchLen)t.color("brown")returnt.pensize(random.uniform((branchLen + 5) / 4 - 2, (branchLen + 6) / 4 + 5))t.down()t.forward(branchLen)# 以下递归ang = random.uniform(15, 45)t.right(ang)# 随机决定减小长度tree(branchLen - random.uniform(12, 16), t) t.left(2 * ang)# 随机决定减小长度tree(branchLen - random.uniform(12, 16), t) t.right(ang)t.up()t.backward(branchLen)
表白气球
我们接着看一下表白气球的实现,要实现的效果是:随机生成各种颜色向上漂浮的气球,点击气球会破。
主要实现代码如下:
# 气球
balloons = []
# 颜色
color_option = ["red", "blue", "green", "purple", "pink", "yellow", "orange"]
# 气球大小
size = 50
# 气球线
def line(x, y, a, b, line_width=1, color_name="black"):up()goto(x, y)down()color(color_name)width(line_width)goto(a, b)def distance(x, y, a, b):# 判断鼠标点击位置和气球坐标的距离return ((a - x) ** 2 + (b - y) ** 2) ** 0.5
def tap(x, y):for i in range(len(balloons)):# 判断是否点击气球队列中的其中一个if distance(x, y, balloons[i][0], balloons[i][1]) < (size / 2):# 删除气球balloons.pop(i) return
def draw():# 清除画布clear()for i in range(1, (len(balloons) + 1)): line(balloons[-i][0], balloons[-i][1], balloons[-i][0], balloons[-i][1] - size * 1.5, 1)up() goto(balloons[-i][0], balloons[-i][1])# 画原点,参数为大小和颜色dot(size, balloons[-i][2])# 改变纵坐标,模仿气球上升balloons[-i][1] = balloons[-i][1] + 1# 修改画布update()
def gameLoop():# 1/50 的概率生成一个气球if randrange(0, 50) == 1:# 气球坐标,在边框位置减去气球大小x = randrange(-200 + size, 200 - size)# 随机在颜色队列选择一个颜色c = choice(color_option)# 添加气球队列balloons.append([x, -200 - size, c]) draw()ontimer(gameLoop, 10)
表白卡
我们可以通过 Python 在原有照片上添加一些适合主题的诗词来制作表白卡。
原图:
效果图:
主要实现代码如下:
img = cv2.imread('test.png')
mask = np.zeros(img.shape[:2], np.uint8)
size = (1, 65)
bgd = np.zeros(size, np.float64)
fgd = np.zeros(size, np.float64)
rect = (1, 1, img.shape[1], img.shape[0])
cv2.grabCut(img, mask, rect, bgd, fgd, 10, cv2.GC_INIT_WITH_RECT)
mask2 = np.where((mask == 2) | (mask == 0), 1, 255)
img = img.astype(np.int32)
img *= mask2[:, :, np.newaxis]
img[img>255] = 255
img =img.astype(np.uint8)
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
img = Image.fromarray(img, 'RGB')
img.save('test1.jpg')
fp = open(r"word.txt", "r", encoding="utf-8")
text = fp.read()
mask_pic=np.array(Image.open(r"test1.jpg"))
wordcloud = WordCloud(font_path='hyr3gjm.ttf',mask=mask_pic,max_words=200).generate(text)
image=wordcloud.to_image()
image.save("wordcloud2.png")
cloud_data = np.array(image)
alpha = np.copy(cloud_data[:,:,0])
alpha[alpha>0] = 255
new_image = Image.fromarray(np.dstack((cloud_data, alpha)))
card = Image.open("test.png")
card = card.convert("RGBA")
card.paste(new_image, (0,0), mask=new_image)
card.save("card.png")
用 Python 实现一个七夕表白神器,快快敲起来吧相关推荐
- python写520_用Python做一个520表白神器,值得收藏
本文最后给出了打包好的软件,无需安装Python环境和各种依赖,直接下载软件,解压后,双击exe文件即可使用. 先来看一下具体的效果. 运行程序. 用Python做一个520表白神器,值得收藏 点击「 ...
- python写一个表白程序-用Python做一个情人节表白神器
思路来自于「Python 编程时光」,我在其之上改进了一下,主要是通过tkinter编写一个界面方便使用,大家可以关注「Python 编程时光」这一良心公众号. 本文最后给出了打包好的软件,无需安装P ...
- python制作表白神器_用Python做一个520表白神器,值得收藏
本文最后给出了打包好的软件,无需安装Python环境和各种依赖,直接下载软件,解压后,双击exe文件即可使用. 先来看一下具体的效果. 运行程序. 点击「选择图片」 选择JPG/JPGE/PNG三种中 ...
- python制作表白软件手机版_用Python做一个情人节表白神器
思路来自于「Python 编程时光」,我在其之上改进了一下,主要是通过tkinter编写一个界面方便使用,大家可以关注「Python 编程时光」这一良心公众号. 本文最后给出了打包好的软件,无需安装P ...
- python制作表白神器_用Python做一个情人节表白神器
思路来自于「Python 编程时光」,我在其之上改进了一下,主要是通过tkinter编写一个界面方便使用,大家可以关注「Python 编程时光」这一良心公众号. 本文最后给出了打包好的软件,无需安装P ...
- python 情书_用Python做一个520表白神器,值得收藏(示例代码)
本文最后给出了打包好的软件,无需安装Python环境和各种依赖,直接下载软件,解压后,双击exe文件即可使用. 先来看一下具体的效果. 运行程序. 点击「选择图片」 选择JPG/JPGE/PNG三种中 ...
- 利用 Python 写个七夕表白神器
今天是七夕节,相比于现代人自创的 502,不对是 520,七夕才是中国传统意义上的情人节,本文分享几个 Python 表白程序,情侣可以现学现用,单身的话也可以先收藏一下,说不定下次就用上了. 很多人 ...
- 用java写表白神器_用 Python 写个七夕表白神器
今天是七夕节,相比于现代人自创的 502,不对是 520,七夕才是中国传统意义上的情人节,本文分享几个 Python 表白程序,情侣可以现学现用,单身的话也可以先收藏一下,说不定下次就用上了. 爱心树 ...
- 用Python制作七夕表白神器,让你成功概率提高99.9%
这不七夕快到了,做为编程爱好者,怎么能不漏一手呢?不知道屏幕前的你,有没有女(男)朋友呢,没有的话就赶快学会这个表白神器,让你七夕当天约会(表白)成功!!当然,这个程序非常的简单,很容易上手,接下来我 ...
最新文章
- WINCE6.0+S3C2443下的usb function(功能)驱动
- 训练超参数, 出现 Cannot use GPU in CPU-only Caffe 错误?
- linux压缩文件解压乱码
- 编码utf-8的不可映射字符_MySQL 请不要使用“utf8”
- vue组件化通信之兄弟组件传值
- LeetCode 650. 只有两个键的键盘(DP)
- M1芯片Mac使用原生brew安装软件速度过慢的解决办法
- 经典算法面试题目-翻转一个C风格的字符串(1.2)
- 2017/12/30 GUI和动态代理
- Hyper-V使用手记(一):无法引导安装FreeBSD7
- java+ssh实现级联下拉列表(以行业大类和详细类为例)
- powerbuilder11.5 免安装 时的注意事项
- 《未来世界的幸存者》笔记
- 你所学的专业是怎么回事——摄影测量与遥感
- DS18B20 数字温度传感器实验
- matlab的foramt
- c语言贪吃蛇游戏视频,贪吃蛇游戏,贪吃蛇游戏视频
- pycharm2018.3.3 永久激活
- 惠普服务器BIOS密码是多少位
- 2022年最新广西道路运输安全员真题题库及答案