基于Python实现的恋爱对话小程序详解

 更新时间:2022年01月05日 10:35:40   作者:顾木子吖  
这篇文章主要介绍了基于Python制作一个恋爱对话小程序,文章详细介绍了小程序的实现过程,感兴趣的小伙伴可以跟随小编一起学习学习

导语

哈喽!大家好~我是木木子啦!自从写了一些表白类型的一些小脚本、小程序之后,越发不可收拾了,哈哈哈。

常常会有小粉丝说:这......小程序不够啊!刚表白去了,但是被拉黑了。

那我不答应了,我得努努力:多多益善给大家开发一些更有趣的各种各样的适合表白的小程序!

让每个人都争取过年带着对象回家过年~嘿嘿嘿

今天,木木子推荐一个定制表白恋爱的项目:恋爱对话小程序

这个简单的项目,居然还蛮有趣的——如何操作?快来了解下。

一、小简介

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这里选择的是“是的是的”的礼物——选择“不是”的礼物我就不截图了,你们自己拿源码试试 哈哈哈保留悬链。选择不是的话超惊喜滴

以上就是基于Python实现的恋爱对话小程序详解的详细内容,更多关于Python恋爱对话小程序的资料请关注脚本之家其它相关文章!

相关文章

  • django foreignkey外键使用的例子 相当于left join

    django foreignkey外键使用的例子 相当于left join

    今天小编就为大家分享一篇django foreignkey外键使用的例子 相当于left join,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • python读取一个目录下所有txt里面的内容方法

    python读取一个目录下所有txt里面的内容方法

    今天小编就为大家分享一篇python读取一个目录下所有txt里面的内容方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程

    Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程

    wxPython是一款集成了Python的图形化类库的工具,而py2exe是一款将Python程序转换为exe可执行文件的程序,二者搭配可以轻松地在Windows中创建图形化程序,这里我们就来学习Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程:
    2016-07-07
  • python开发之IDEL(Python GUI)的使用方法图文详解

    python开发之IDEL(Python GUI)的使用方法图文详解

    这篇文章主要介绍了python开发之IDEL(Python GUI)的使用方法,结合图文形式较为详细的分析总结了Python GUI的具体使用方法,需要的朋友可以参考下
    2015-11-11
  • Python Pandas如何获取和修改任意位置的值(at,iat,loc,iloc)

    Python Pandas如何获取和修改任意位置的值(at,iat,loc,iloc)

    在我们对数据进行选择之后,需要对特定的数据进行设置更改,设置,下面这篇文章主要给大家介绍了关于Python Pandas如何获取和修改任意位置的值(at,iat,loc,iloc)的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-01-01
  • Pytorch中torchtext终极安装方法以及常见问题

    Pytorch中torchtext终极安装方法以及常见问题

    torchtext是pytorch框架中用于文本处理的,下面这篇文章主要给大家介绍了关于Pytorch中torchtext终极安装方法以及常见问题的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】

    Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】

    这篇文章主要介绍了Python字符串基本操作,结合实例形式总结分析了Python字符串的基本表示、运算、格式化输出、常用函数等,注释包含较为详尽的说明,便于理解,需要的朋友可以参考下
    2018-10-10
  • Python&Matlab实现伏羲八卦图的绘制

    Python&Matlab实现伏羲八卦图的绘制

    八卦最先由伏羲根据燧人氏造设的两幅星图历法《河图洛书》创设。本文将通过Python和Matlab分别绘制伏羲八卦图,感兴趣的小伙伴可以了解一下
    2022-03-03
  • Python连接Oracle数据库的操作指南

    Python连接Oracle数据库的操作指南

    Oracle数据库是一种强大的企业级关系数据库管理系统(RDBMS),而Python是一门流行的编程语言,两者的结合可以提供出色的数据管理和分析能力,本教程将详细介绍如何在Python中连接Oracle数据库,并演示常见的数据库任务,需要的朋友可以参考下
    2023-11-11
  • 在Pytorch中简单使用tensorboard

    在Pytorch中简单使用tensorboard

    今天给大家带来的是关于Python的相关知识,文章围绕着Pytorch使用tensorboard展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06

最新评论