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通过文件头判断文件类型
Oct 30 Python
python+Django+apache的配置方法详解
Jun 01 Python
python安装pil库方法及代码
Jun 25 Python
pymysql模块的使用(增删改查)详解
Sep 09 Python
使用python实现kNN分类算法
Oct 16 Python
Python 静态方法和类方法实例分析
Nov 21 Python
Python更新所有已安装包的操作
Feb 13 Python
python turtle工具绘制四叶草的实例分享
Feb 14 Python
pycharm无法安装第三方库的问题及解决方法以scrapy为例(图解)
May 09 Python
Django 解决model 反向引用中的related_name问题
May 19 Python
Django路由层URLconf作用及原理解析
Sep 24 Python
python实现简单的名片管理系统
Apr 26 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
在任意字符集下正常显示网页的方法二(续)
2007/04/01 PHP
php警告Creating default object from empty value 问题的解决方法
2014/04/02 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
2017/11/17 PHP
jquery用offset()方法获得元素的xy坐标
2014/09/06 Javascript
AngularJS基础知识
2014/12/21 Javascript
jQuery实现手机号码输入提示功能实例
2015/04/30 Javascript
浅谈js构造函数的方法与原型prototype
2016/07/04 Javascript
Node.js对MongoDB数据库实现模糊查询的方法
2017/05/03 Javascript
JQuery判断正整数整理小结
2017/08/21 jQuery
Angular实现下载安装包的功能代码分享
2017/09/05 Javascript
vue中使用 pako.js 解密 gzip加密字符串的方法
2019/06/10 Javascript
vue-openlayers实现地图坐标弹框效果
2020/09/24 Javascript
vant-ui框架的一个bug(解决切换后onload不触发)
2020/11/11 Javascript
深入了解Vue动态组件和异步组件
2021/01/26 Vue.js
python写入xml文件的方法
2015/05/08 Python
Python中元组,列表,字典的区别
2017/05/21 Python
Python学习入门之区块链详解
2017/07/25 Python
Python实现的三层BP神经网络算法示例
2018/02/07 Python
解决python 自动安装缺少模块的问题
2018/10/22 Python
python抓取京东小米8手机配置信息
2018/11/13 Python
Python Multiprocessing多进程 使用tqdm显示进度条的实现
2019/08/13 Python
Python yield的用法实例分析
2020/03/06 Python
Python建造者模式案例运行原理解析
2020/06/29 Python
python在linux环境下安装skimage的示例代码
2020/10/14 Python
One.com挪威:北欧成长最快的网络托管公司
2016/11/19 全球购物
万宝龙英国官网:Montblanc手表、书写工具、皮革和珠宝
2018/10/16 全球购物
Blue Nile中国官网:全球知名的钻石和珠宝网络零售商
2020/03/22 全球购物
西安启天科技有限公司网络工程师面试题笔试题
2016/06/12 面试题
2014新年元旦活动策划方案
2014/02/18 职场文书
课程改革实施方案
2014/03/16 职场文书
党的群众路线教育实践活动个人对照检查材料范文
2014/09/25 职场文书
旅游局领导班子“四风”问题对照检查材料思想汇报
2014/09/29 职场文书
公司授权委托书
2014/10/17 职场文书
信访维稳工作汇报
2014/10/27 职场文书
2016年寒假家长评语
2015/10/10 职场文书
浅谈Node的内存泄露问题
2022/05/06 NodeJs