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实现将罗马数字转换成普通阿拉伯数字的方法
Apr 19 Python
Pyinstaller将py打包成exe的实例
Mar 31 Python
python实现类之间的方法互相调用
Apr 29 Python
python tornado微信开发入门代码
Aug 24 Python
opencv实现图片模糊和锐化操作
Nov 19 Python
python中利用matplotlib读取灰度图的例子
Dec 07 Python
pyinstaller打包找不到文件的问题解决
Apr 15 Python
在keras 中获取张量 tensor 的维度大小实例
Jun 10 Python
python利用os模块编写文件复制功能——copy()函数用法
Jul 13 Python
Python 保存加载mat格式文件的示例代码
Aug 04 Python
详解使用scrapy进行模拟登陆三种方式
Feb 21 Python
python神经网络 使用Keras构建RNN训练
May 04 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
php像数组一样存取和修改字符串字符
2014/03/21 PHP
Laravel学习教程之IOC容器的介绍与用例
2017/08/15 PHP
一页面多XMLHttpRequest对象
2007/01/22 Javascript
jquery pagination插件实现无刷新分页代码
2009/10/13 Javascript
uploadify 3.0 详细使用说明
2012/06/18 Javascript
YUI Compressor压缩JavaScript原理及微优化
2013/01/07 Javascript
基于pthread_create,readlink,getpid等函数的学习与总结
2013/07/17 Javascript
js监听键盘事件示例代码
2013/07/26 Javascript
javascript跨浏览器的属性判断方法
2014/03/16 Javascript
JavaScript获取页面上被选中文字的方法技巧
2015/03/13 Javascript
完美兼容多浏览器的js判断图片路径代码汇总
2015/04/17 Javascript
JavaScript中的this引用(推荐)
2016/08/05 Javascript
Vue.js学习笔记之 helloworld
2016/08/14 Javascript
vxe-table vue table 表格组件功能
2019/05/26 Javascript
layer设置maxWidth及maxHeight解决方案
2019/07/26 Javascript
解决layui的table插件无法多层级获取json数据的问题
2019/09/19 Javascript
Javascript操作select控件代码实例
2020/02/14 Javascript
在HTML中使用JavaScript的两种方法
2020/12/24 Javascript
Python中shutil模块的常用文件操作函数用法示例
2016/07/05 Python
利用 Monkey 命令操作屏幕快速滑动
2016/12/07 Python
python pandas.DataFrame.loc函数使用详解
2020/03/26 Python
浅谈keras通过model.fit_generator训练模型(节省内存)
2020/06/17 Python
用python写爬虫简单吗
2020/07/28 Python
Python 的 __str__ 和 __repr__ 方法对比
2020/09/02 Python
Fanatics英国官网:美国体育电商
2018/11/06 全球购物
给校长的一封建议书
2014/03/12 职场文书
社区道德讲堂实施方案
2014/03/21 职场文书
公司任命书范本
2014/06/04 职场文书
英语课前三分钟演讲稿
2014/08/19 职场文书
群众路线教育实践活动学习笔记
2014/11/05 职场文书
2015年财务经理工作总结
2015/05/13 职场文书
珍爱生命主题班会
2015/08/13 职场文书
python 通过使用Yolact训练数据集
2021/04/06 Python
python 逐步回归算法
2021/04/06 Python
Springboot配置suffix指定mvc视图的后缀方法
2021/07/03 Java/Android
「海贼王」112.9万粉丝纪念图标公布
2022/03/21 日漫