基于Python实现的恋爱对话小程序详解
作者:顾木子吖 时间:2023-01-14 11:08:38
导语
哈喽!大家好~我是木木子啦!自从写了一些表白类型的一些小脚本、小程序之后,越发不可收拾了,哈哈哈。
常常会有小粉丝说:这......小程序不够啊!刚表白去了,但是被拉黑了。
那我不答应了,我得努努力:多多益善给大家开发一些更有趣的各种各样的适合表白的小程序!
让每个人都争取过年带着对象回家过年~嘿嘿嘿
今天,木木子推荐一个定制表白恋爱的项目:恋爱对话小程序
这个简单的项目,居然还蛮有趣的——如何操作?快来了解下。
一、小简介
turtle:绘图模块
PySimpleGUI:弹框制作模块(一个非常简单好用的Python图形界面库(PysimpleGUI))
1)环境安装
本文所用到的环境:Python3、Pycharm、PySimpleGUI、Turtle、time模块。
环境安装:pip install +模块名 或带豆瓣镜像源pip install -i
https://pypi.douban.com/simple/ +模块名
二、代码演示
1)导入模块
from turtle import *
import time
import PySimpleGUI as sg
2)倒计时
def draw_count_down(i): #倒数
bgcolor('black')
speed(0)
up()
goto(-50,-100)
color('white')
write(i, align="center",font=('Times New Roman', 200, 'bold'))
time.sleep(1)
3)画2份不同的礼物
def draw_people(): #画小人
up()
fillcolor()
begin_fill()
color('black','white')
goto(-300, 50) # 脖子坐标
down()
circle(75) # 半径为75的脑袋
end_fill()
right(90)
forward(175) # 身体的长度175像素
right(45)
forward(100) # 腿长100像素
up()
goto(-300, -120) # 画另一条腿
down()
left(90)
forward(100)
up()
goto(-300, -5) # 手臂坐标
down()
left(45)
forward(100) # 第一只手臂长度
left(45)
forward(67) # 手掌长度
up()
goto(-300, -40) # 第二只手臂坐标
down()
right(45)
forward(100) # 第二只手臂长度
right(45)
forward(67)
up()
goto(-330, 155) # 第一只眼睛起始坐标
down()
right(45)
forward(50) # 眼睛长度为50
up()
goto(-270, 155) # 第二只眼睛起始坐标
down()
forward(50)
up()
pencolor('#F39F79')
goto(-340,100) #红脸蛋第一只眼
seth(0)
down()
backward(40)
up()
goto(-260, 100) # 红脸蛋第二只眼
down()
forward(40)
time.sleep(1)
def draw_heart(size): # 画爱心
color('red', 'red')
down()
setheading(150)
begin_fill()
forward(size)
circle(size * -3.745, 45)
circle(size * -1.431, 165)
left(120)
circle(size * -1.431, 165)
circle(size * -3.745, 45)
forward(size)
end_fill()
def send_heart(): #发射爱心
up()
goto(-50, -22)
draw_heart(14)
up()
goto(120, -22)
draw_heart(25)
penup()
goto(305, -22)
draw_heart(43)
def wr_character():
up()
goto(-50,-200)
pencolor('black')
write('惊', font=('行楷', 60, 'bold'))
up()
goto(50,-200)
write('不', font=('行楷', 60, 'bold'))
up()
goto(150,-200)
write('惊', font=('行楷', 60, 'bold'))
up()
goto(250,-200)
write('喜', font=('行楷', 60, 'bold'))
def draw_pupu(): #画xxxx
up()
shapesize(10, 2)
speed(2)
fillcolor()
color('#805140','#805140')
begin_fill()
goto(-50, -20)
down()
circle(20)
end_fill()
begin_fill()
up()
goto(-50, -80)
down()
circle(40)
end_fill()
begin_fill()
up()
goto(10, -110)
seth(90)
down()
circle(60,180)
seth(0)
forward(120)
end_fill()
4)二种选择是不同的绘图倒计时之后就是绘制你回答的那个礼物。
def present_good(): #选择是送的礼物
setup(1000,700)
pensize(10)
hideturtle()
numbers=[5,4,3,2,1] #进行倒数
for i in numbers:
draw_count_down(i)
undo()
draw_moon()
draw_people()
send_heart()
wr_character()
done()
def present_bad(): #选择不是送的礼物
setup(1000, 700)
pensize(10)
hideturtle()
numbers=[5,4,3,2,1] #进行倒数
for i in numbers:
draw_count_down(i)
undo()
draw_moon()
draw_people()
draw_pupu()
wr_character()
done()
5)弹窗设计的文字(可修改)
layout=[ #弹框内容设计
[sg.Text('请输入你的名字:')],[sg.Input()],
[sg.Text('请回答下面这个问题哦!')],
[sg.Text('我是你喜欢的类型嘛?')],
[sg.Button('是的是的')],[sg.Button('不是')]
]
sg.popup('你好呀!我是你的好朋友为你定制的专属男朋友','请按OK键继续') #这是一个简易弹框
time.sleep(1)
window=sg.Window('小可爱',layout)
event,value=window.read()
window.close()
if event == '是的是的':
sg.popup(f'{value[0]}请按OK键接收男朋友的礼物!♥') #这是一个简易弹框 #这里的value[0],是因为value返回内容为字典
time.sleep(1)
present_good()
else:
sg.popup(f'{value[0]}竟然对我有意见,心碎了!!','但你的男友是个大度的人,送你一个小礼物吧','请按OK键接收我心碎的礼物!')
present_bad()
三、效果展示
1)视频展示
可能视频的话我录制的比较粗糙,感觉有点儿看不清楚!
Turtle系列: 恋爱对话小程序之我是你喜欢的类型嘛?
2)截图展示
2.1 弹窗界面
2.2 倒计时5秒
2.3这里选择的是“是的是的”的礼物——选择“不是”的礼物我就不截图了,你们自己拿源码试试 哈哈哈保留悬链。选择不是的话超惊喜滴
来源:https://blog.csdn.net/weixin_55822277/article/details/121265993
标签:Python,小程序
0
投稿
猜你喜欢
Servlet实现文件上传,可多文件上传示例
2023-08-25 02:31:29
Web脚本开发语言比较
2007-08-22 17:32:00
使用python实现简单五子棋游戏
2022-09-22 04:16:35
python Flask 装饰器顺序问题解决
2022-09-30 09:16:42
不能使用“;文件已在使用中 Microsoft JET Database Engine
2012-12-04 20:34:36
Tensorflow 实现线性回归模型的示例代码
2023-07-03 09:00:41
Sanic框架Cookies操作示例
2022-12-24 05:29:04
基于Python编写一个自动关机程序
2023-07-30 08:19:20
超级简单实现框架滚动控制
2008-07-01 12:14:00
对Python强大的可变参数传递机制详解
2021-06-23 02:54:09
Python实现感知器模型、两层神经网络
2021-11-14 07:34:19
Python绘制动态水球图过程详解
2021-11-27 14:57:20
python绘制散点图和折线图的方法
2021-08-24 04:27:56
python中的tcp示例详解
2021-06-21 21:09:46
Python实现钉钉/企业微信自动打卡的示例代码
2022-02-18 21:54:02
本地计算机无法启动Apache故障处理
2023-07-17 13:06:48
Python爬虫框架Scrapy基本用法入门教程
2021-08-17 19:50:45
Golang的关键字defer的使用方法
2023-07-12 21:10:49
PHP file_get_contents设置超时处理方法
2023-10-18 05:56:46
设计师挖掘用户需求浅谈
2009-10-25 13:24:00