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使用PyV8执行javascript代码示例分享
Dec 04 Python
9种python web 程序的部署方式小结
Jun 30 Python
在Python程序中操作MySQL的基本方法
Jul 29 Python
Python编程中对文件和存储器的读写示例
Jan 25 Python
用Python进行简单图像识别(验证码)
Jan 19 Python
浅谈python numpy中nonzero()的用法
Apr 02 Python
对命令行模式与python交互模式介绍
May 12 Python
Python RabbitMQ消息队列实现rpc
May 30 Python
python使用epoll实现服务端的方法
Oct 16 Python
Python中is和==的区别详解
Nov 15 Python
Django之Mode的外键自关联和引用未定义的Model方法
Dec 15 Python
Python 安装第三方库 pip install 安装慢安装不上的解决办法
Jun 18 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
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
2015/12/18 PHP
php之header的不同用法总结(实例讲解)
2017/11/28 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
PHP开发的文字水印,缩略图,图片水印实现类与用法示例
2019/04/12 PHP
ExtJs3.0中Store添加 baseParams 的Bug
2010/03/10 Javascript
javascript XMLHttpRequest对象全面剖析
2010/04/24 Javascript
页面只有一个text的时候,回车自动submit的解决方法
2010/08/12 Javascript
extjs之去除s.gif的影响
2010/12/25 Javascript
Underscore.js 的模板功能介绍与应用
2012/12/24 Javascript
jQuery插件slides实现无缝轮播图特效
2015/04/17 Javascript
js获取form表单所有数据的简单方法
2016/08/18 Javascript
JavaScript图片处理与合成总结
2018/03/04 Javascript
原生JS实现简单的无缝自动轮播效果
2018/09/26 Javascript
JavaScript鼠标拖拽事件详解
2020/04/03 Javascript
nuxt静态部署打包相对路径操作
2020/11/06 Javascript
[02:51]DOTA2战队出征照拍摄花絮 TI3明星化身时尚男模
2013/07/22 DOTA
[01:11]回顾历届DOTA2国际邀请赛中国区预选赛
2017/06/26 DOTA
用yum安装MySQLdb模块的步骤方法
2016/12/15 Python
python生成式的send()方法(详解)
2017/05/08 Python
对python中的try、except、finally 执行顺序详解
2019/02/18 Python
Python中py文件转换成exe可执行文件的方法
2019/06/14 Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
2020/01/14 Python
Python OpenCV中的numpy与图像类型转换操作
2020/12/11 Python
Pandas中DataFrame交换列顺序的方法实现
2020/12/14 Python
奇怪的鱼:Weird Fish
2018/03/18 全球购物
荷兰照明、灯具和配件网上商店:dmlights
2019/08/25 全球购物
村优秀党员事迹材料
2014/01/15 职场文书
《巨人的花园》教学反思
2014/02/12 职场文书
优秀共产党员先进事迹材料
2014/05/06 职场文书
森林防火标语
2014/06/23 职场文书
群众路线教育实践活动的心得体会
2014/09/03 职场文书
师德先进个人材料
2014/12/20 职场文书
文艺演出主持词
2015/07/01 职场文书
2019行政前台转正申请书范文3篇
2019/08/15 职场文书
python非标准时间的转换
2021/07/25 Python
使用Python+OpenCV进行卡类型及16位卡号数字的OCR功能
2021/08/30 Python