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使用calendar输出指定年份全年日历的方法
Apr 04 Python
Python实现一个转存纯真IP数据库的脚本分享
May 21 Python
Python实现的递归神经网络简单示例
Aug 11 Python
使用pandas将numpy中的数组数据保存到csv文件的方法
Jun 14 Python
Python编程flask使用页面模版的方法
Dec 28 Python
twilio python自动拨打电话,播放自定义mp3音频的方法
Aug 08 Python
python用线性回归预测股票价格的实现代码
Sep 04 Python
导入tensorflow时报错:cannot import name 'abs'的解决
Oct 10 Python
Python使用enumerate获取迭代元素下标
Feb 03 Python
如何使用python的ctypes调用医保中心的dll动态库下载医保中心的账单
May 24 Python
python时间序列数据转为timestamp格式的方法
Aug 03 Python
详解python 支持向量机(SVM)算法
Sep 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
PHP 5.0对象模型深度探索之属性和方法
2008/03/27 PHP
PHP 得到根目录的 __FILE__ 常量
2008/07/23 PHP
PHP远程采集图片详细教程
2014/07/01 PHP
微信公众平台天气预报功能开发
2014/07/06 PHP
PHP生成随机字符串(3种方法)
2015/09/25 PHP
PHP实现微信网页授权开发教程
2016/01/19 PHP
学习YUI.Ext第七日-View&JSONView Part Two-一个画室网站的案例
2007/03/10 Javascript
javascript数据结构之二叉搜索树实现方法
2015/11/25 Javascript
js确认框confirm()用法实例详解
2016/01/07 Javascript
Bootstrap笔记—折叠实例代码
2017/03/13 Javascript
解决Vue2.0 watch对象属性变化监听不到的问题
2018/09/11 Javascript
使用Angular自定义字段校验指令的方法示例
2019/02/01 Javascript
Angular 多模块项目构建过程
2020/02/13 Javascript
js 获取扫码枪输入数据的方法
2020/06/10 Javascript
JavaScript常用进制转换及位运算实例解析
2020/10/14 Javascript
[00:36]DOTA2勇士令状莱恩声望物品——冥晶之厄展示
2018/05/25 DOTA
Python实现一个简单的验证码程序
2017/11/03 Python
python中数据爬虫requests库使用方法详解
2018/02/11 Python
Python异常处理知识点总结
2019/02/18 Python
Python3视频转字符动画的实例代码
2019/08/29 Python
python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例
2020/03/18 Python
html5 的a标签 Href 拨电话的写法
2013/11/04 HTML / CSS
详解webapp页面滚动卡顿的解决办法
2018/12/26 HTML / CSS
AmazeUI图片轮播效果的示例代码
2020/08/20 HTML / CSS
Pandora西班牙官方商店:PandoraShop.es
2020/10/05 全球购物
JavaScript实现页面动态验证码的实现示例
2021/03/23 Javascript
小学生元旦感言
2014/02/26 职场文书
节能减排倡议书
2014/04/15 职场文书
2014年社会实践活动总结范文
2014/04/29 职场文书
教师党员自我评价2015
2015/03/04 职场文书
素质拓展训练感想
2015/08/07 职场文书
只需要12页,掌握撰写一流商业计划书的技巧
2019/05/07 职场文书
大学生奶茶店创业计划书
2019/06/25 职场文书
vue3如何优雅的实现移动端登录注册模块
2021/03/29 Vue.js
Go timer如何调度
2021/06/09 Golang
Spring Boot实现文件上传下载
2022/08/14 Java/Android