Python编写冷笑话生成器


Posted in Python onApril 20, 2022

导语

带大家写个冷笑话生成器吧,感觉蛮有意思的。

废话不多说,让我们愉快地开始吧~

开发工具

Python版本:3.7.8

相关模块:

pyqt5模块;

以及一些python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

原理简介

原理其实很简单,先去网上找点冷笑话:

Python编写冷笑话生成器

然后把要讽刺的事情、事情的提出人、提出者声称这件事有助于、事件的受害者和事件发生的组织挖掉,根据用户输入自动填写就行了:

template = random.choice(templates)
template = template.replace('{event}', self.edit_1.text()).replace('{boss}', self.edit_2.text()).replace('{target}', self.edit_3.text()).replace('{victim}', self.edit_4.text()).replace('{org}', self.edit_5.text())

然后写个简单的pyqt界面把这个功能整合上去:

# 定义一些必要的组件
grid = QGridLayout()
# --标签
label_1 = QLabel('要讽刺的事情:')
label_2 = QLabel('事情的提出人:')
label_3 = QLabel('提出者声称这件事有助于:')
label_4 = QLabel('事件的受害者:')
label_5 = QLabel('事件发生的组织:')
# --输入框
self.edit_1 = QLineEdit()
self.edit_1.setText('****配送优先级高于生活必需品')
self.edit_2 = QLineEdit()
self.edit_2.setText('内容违规无法显示')
self.edit_3 = QLineEdit()
self.edit_3.setText('代替其他生活必需品')
self.edit_4 = QLineEdit()
self.edit_4.setText('你猜是哪个倒霉鬼')
self.edit_5 = QLineEdit()
self.edit_5.setText('****')
# --生成按钮
button = QPushButton('生成冷笑话')
# --结果显示框
self.text_edit = QTextEdit()

并且手动布局一下:

# 组件布局
grid.addWidget(label_1, 0, 0, 1, 1)
grid.addWidget(self.edit_1, 0, 1, 1, 1)
grid.addWidget(label_2, 1, 0, 1, 1)
grid.addWidget(self.edit_2, 1, 1, 1, 1)
grid.addWidget(label_3, 2, 0, 1, 1)
grid.addWidget(self.edit_3, 2, 1, 1, 1)
grid.addWidget(label_4, 3, 0, 1, 1)
grid.addWidget(self.edit_4, 3, 1, 1, 1)
grid.addWidget(label_5, 4, 0, 1, 1)
grid.addWidget(self.edit_5, 4, 1, 1, 1)
grid.addWidget(button, 5, 0, 1, 2)
grid.addWidget(self.text_edit, 6, 0, 5, 2)
self.setLayout(grid)

于是就大功告成啦:

Python编写冷笑话生成器

效果展示

首先安装最新版本的pikachupytools:

pip install pikachupytools --upgrade

然后写如下代码调用即可运行:

from pytools import pytools

tool_client = pytools.pytools()
tool_client.execute('sovietgenerator')

效果如下:

Python编写冷笑话生成器

GIT源码地址

到此这篇关于利用Python编写个冷笑话生成器的文章就介绍到这了!

Python 相关文章推荐
用Python操作字符串之rindex()方法的使用
May 19 Python
Windows下Eclipse+PyDev配置Python+PyQt4开发环境
May 17 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
Apr 18 Python
python中利用h5py模块读取h5文件中的主键方法
Jun 05 Python
Numpy 改变数组维度的几种方法小结
Aug 02 Python
Python callable内置函数原理解析
Mar 05 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
May 07 Python
Python实现UDP程序通信过程图解
May 15 Python
Python实现JS解密并爬取某音漫客网站
Oct 23 Python
详解python的super()的作用和原理
Oct 29 Python
解决PDF 转图片时丢文字的一种可能方式
Mar 04 Python
详解Python类和对象内容
Jun 22 Python
Python Django / Flask如何使用Elasticsearch
Apr 19 #Python
python中mongodb包操作数据库
Apr 19 #Python
Elasticsearch 聚合查询和排序
Apr 19 #Python
Elasticsearch 基本查询和组合查询
Apr 19 #Python
Elasticsearch 批量操作
Apr 19 #Python
Elasticsearch 数据类型及管理
Apr 19 #Python
Elasticsearch 索引操作和增删改查
Apr 19 #Python
You might like
使用Limit参数优化MySQL查询的方法
2008/11/12 PHP
PHP比较运算符的详细介绍
2015/09/29 PHP
使用PHPExcel导出Excel表
2018/09/08 PHP
JQueryEasyUI datagrid框架的基本使用
2013/04/08 Javascript
jquery ajax传递中文参数乱码问题及解决方法说明
2014/02/07 Javascript
JavaScript中for-in遍历方式示例介绍
2014/02/11 Javascript
基于jQuery实现拖拽图标到回收站并删除功能
2015/11/25 Javascript
理解Javascript的call、apply
2015/12/16 Javascript
基于BootStrap Metronic开发框架经验小结【二】列表分页处理和插件JSTree的使用
2016/05/12 Javascript
js多功能分页组件layPage使用方法详解
2016/05/19 Javascript
微信小程序 数据绑定详解及实例
2016/10/25 Javascript
基于Vue.js实现简单搜索框
2020/03/26 Javascript
angular+bootstrap的双向数据绑定实例
2017/03/03 Javascript
jQuery插件echarts实现的多折线图效果示例【附demo源码下载】
2017/03/04 Javascript
vue 2.0封装model组件的方法
2017/08/03 Javascript
vue移动端UI框架实现QQ侧边菜单组件
2018/03/09 Javascript
node.js监听文件变化的实现方法
2019/04/17 Javascript
django简单的前后端分离的数据传输实例 axios
2020/05/18 Javascript
[02:18]《我与DAC》之工作人员:为了热爱DOTA2的玩家们
2018/03/28 DOTA
python使用循环实现批量创建文件夹示例
2014/03/25 Python
轻量级的Web框架Flask 中模块化应用的实现
2017/09/11 Python
使用GitHub和Python实现持续部署的方法
2019/05/09 Python
python分布式编程实现过程解析
2019/11/08 Python
Python彻底删除文件夹及其子文件方式
2019/12/23 Python
解决keras,val_categorical_accuracy:,0.0000e+00问题
2020/07/02 Python
python BeautifulSoup库的安装与使用
2020/12/17 Python
如何从一个文件档案的尾端新增记录
2016/12/02 面试题
如何写一份好的英文求职信
2014/03/19 职场文书
捐资助学倡议书
2014/04/15 职场文书
本科毕业生自荐信
2014/06/02 职场文书
车间安全生产标语
2014/06/06 职场文书
另类冲刺标语
2014/06/24 职场文书
毕业生政审意见范文
2015/06/04 职场文书
公司转让协议书
2016/03/19 职场文书
股东出资协议书
2016/03/21 职场文书
Python基础之操作MySQL数据库
2021/05/06 Python