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动态监控日志内容的示例
Feb 16 Python
python基础教程之字典操作详解
Mar 25 Python
Python3实现连接SQLite数据库的方法
Aug 23 Python
Python中的is和==比较两个对象的两种方法
Sep 06 Python
python 字典中取值的两种方法小结
Aug 02 Python
Python使用pyautogui模块实现自动化鼠标和键盘操作示例
Sep 04 Python
Python实现计算文件MD5和SHA1的方法示例
Jun 11 Python
Django的性能优化实现解析
Jul 30 Python
python设置随机种子实例讲解
Sep 12 Python
解决windows下python3使用multiprocessing.Pool出现的问题
Apr 08 Python
python 基于selectors库实现文件上传与下载
Dec 31 Python
python实现Nao机器人的单目测距
Sep 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异步执行的详解
2013/06/03 PHP
yii2实现Ueditor百度编辑器的示例代码
2018/11/02 PHP
PHP实现百度人脸识别
2019/05/06 PHP
js判断上传文件的类型和大小示例代码
2013/10/18 Javascript
node.js中Socket.IO的进阶使用技巧
2014/11/04 Javascript
node.js中的socket.io的广播消息
2014/12/15 Javascript
jQuery实现鼠标划过修改样式的方法
2015/04/14 Javascript
jQuery网页版打砖块小游戏源码分享
2015/08/20 Javascript
jQuery拖动元素并对元素进行重新排序
2015/12/30 Javascript
详解AngularJS控制器的使用
2016/03/09 Javascript
js css实现垂直方向自适应的三角提示菜单
2016/06/26 Javascript
JS获取html元素的标记名实现方法
2016/10/08 Javascript
最原始的jQuery注册验证方式
2016/10/11 Javascript
jQuery EasyUI 获取tabs的实例解析
2016/12/06 Javascript
解决ajax不能访问本地文件问题(利用js跨域原理)
2017/01/24 Javascript
JavaScript运动框架 多物体任意值运动(三)
2017/05/17 Javascript
浅谈让你的代码更简短,更整洁,更易读的ES6小技巧
2018/10/25 Javascript
vue 自定义右键样式的实例代码
2019/11/06 Javascript
Angular封装表单控件及思想总结
2019/12/11 Javascript
vue中组件通信详解(父子组件, 爷孙组件, 兄弟组件)
2020/07/27 Javascript
详解vue3.0 的 Composition API 的一种使用方法
2020/10/26 Javascript
vue data有值,但是页面{{}} 取不到值的解决
2020/11/09 Javascript
[48:24]完美世界DOTA2联赛PWL S3 Forest vs INK ICE 第一场 12.09
2020/12/12 DOTA
[05:49]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS 选手采访
2021/03/11 DOTA
python解析xml文件操作实例
2014/10/05 Python
关于numpy中np.nonzero()函数用法的详解
2017/02/07 Python
Python爬虫——爬取豆瓣电影Top250代码实例
2019/04/17 Python
一文轻松掌握python语言命名规范规则
2020/06/18 Python
如何用Matlab和Python读取Netcdf文件
2021/02/19 Python
使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法
2014/04/03 HTML / CSS
Lookfantastic德国官网:英国知名美妆购物网站
2017/06/11 全球购物
意大利宠物用品购物网站:Bauzaar
2018/09/15 全球购物
卡拉威高尔夫官方网站:Callaway Golf
2020/09/16 全球购物
怎样写好自我鉴定
2013/12/04 职场文书
廉洁家庭事迹材料
2014/05/15 职场文书
Springboot使用Spring Data JPA实现数据库操作
2021/06/30 Java/Android