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基础教程之自定义函数介绍
Aug 29 Python
利用python获取Ping结果示例代码
Jul 06 Python
python代码实现ID3决策树算法
Dec 20 Python
python+selenium实现163邮箱自动登陆的方法
Dec 31 Python
Python django使用多进程连接mysql错误的解决方法
Oct 08 Python
在Python 字典中一键对应多个值的实例
Feb 03 Python
浅谈Python中eval的强大与危害
Mar 13 Python
python多线程共享变量的使用和效率方法
Jul 16 Python
Python Web版语音合成实例详解
Jul 16 Python
python numpy 常用随机数的产生方法的实现
Aug 21 Python
Python Numpy 自然数填充数组的实现
Nov 28 Python
浅谈Python中对象是如何被调用的
Apr 06 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
destoon文章模块调用企业会员资料的方法
2014/08/22 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
thinkphp5.1 框架导入/导出excel文件操作示例
2020/05/25 PHP
javascript SocialHistory 检查访问者是否访问过某站点
2008/08/02 Javascript
Extjs 3.3切换tab隐藏相应工具栏出现空白解决
2013/04/02 Javascript
javascript中innerText和innerHTML属性用法实例分析
2015/05/13 Javascript
以JavaScript来实现WordPress中的二级导航菜单的方法
2015/12/14 Javascript
Node.js重新刷新session过期时间的方法
2016/02/04 Javascript
js简单正则验证汉字英文及下划线的方法
2016/11/28 Javascript
Javascript之面向对象--接口
2016/12/02 Javascript
解析微信JS-SDK配置授权,实现分享接口
2016/12/09 Javascript
详解前端自动化工具gulp自动添加版本号
2016/12/20 Javascript
利用vscode编写vue的简单配置详解
2017/06/17 Javascript
Easyui Datagrid自定义按钮列(最后面的操作列)
2017/07/13 Javascript
webpack vue 项目打包生成的文件,资源文件报404问题的修复方法(总结篇)
2018/01/09 Javascript
Vue props用法详解(小结)
2018/07/03 Javascript
JSON.stringify()方法讲解
2019/01/31 Javascript
Vue form表单动态添加组件实战案例
2019/09/02 Javascript
Python进行数据提取的方法总结
2016/08/22 Python
Python利用Beautiful Soup模块创建对象详解
2017/03/27 Python
Python使用win32 COM实现Excel的写入与保存功能示例
2018/05/03 Python
用python实现一个简单的验证码
2020/12/09 Python
加拿大时尚少女服装品牌:Garage
2016/10/10 全球购物
美国帽子俱乐部商店:Hat Club
2019/07/05 全球购物
Fox Racing官方网站:越野摩托车和山地自行车装备和服装
2019/12/23 全球购物
纯净、自信、100%的羊绒服装:360Cashmere
2021/02/20 全球购物
总务岗位职责
2013/11/19 职场文书
工程测量与监理专业应届生求职信
2013/11/27 职场文书
关于旷工的检讨书
2014/02/02 职场文书
幼儿园老师寄语
2014/04/03 职场文书
构建和谐校园倡议书
2015/01/19 职场文书
计算机专业自荐信
2015/03/05 职场文书
个人简历求职信范文
2015/03/20 职场文书
python中tkinter复选框使用操作
2021/11/11 Python
Nginx 配置 HTTPS的详细过程
2022/05/30 Servers
面试官问我Mysql的存储引擎了解多少
2022/08/05 MySQL