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 相关文章推荐
wxPython 入门教程
Oct 07 Python
python读取csv文件示例(python操作csv)
Mar 11 Python
基于Python实现的扫雷游戏实例代码
Aug 01 Python
介绍Python的Django框架中的静态资源管理器django-pipeline
Apr 25 Python
python结合selenium获取XX省交通违章数据的实现思路及代码
Jun 26 Python
python 接口_从协议到抽象基类详解
Aug 24 Python
Python实现图片尺寸缩放脚本
Mar 10 Python
Python基础教程之异常详解
Jan 10 Python
Python 继承,重写,super()调用父类方法操作示例
Sep 29 Python
python字符串格式化方式解析
Oct 19 Python
python打开文件的方式有哪些
Jun 29 Python
python3中编码获取网页的实例方法
Nov 16 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中使用excel的简单介绍
2013/08/02 PHP
PHP正则替换函数preg_replace和preg_replace_callback使用总结
2014/09/22 PHP
php如何获取Http请求
2020/04/30 PHP
JS input文本框禁用右键和复制粘贴功能的代码
2010/04/15 Javascript
jQuery 类twitter的文本字数限制带提示效果插件
2010/04/16 Javascript
jquery中.add()的使用分析
2013/04/26 Javascript
js如何获取file控件的完整路径具体实现代码
2013/05/15 Javascript
通过$(this)使用jQuery包装后的方法或属性
2014/05/18 Javascript
Javascript获取当前时间函数和时间操作小结
2014/10/01 Javascript
js简单实现竖向tab选项卡的方法
2015/05/04 Javascript
JavaScript中innerHTML,innerText,outerHTML的用法及区别
2015/09/01 Javascript
浅析jQuery移动开发中内联按钮和分组按钮的编写
2015/12/04 Javascript
全面了解JavaScript对象进阶
2016/07/19 Javascript
BootStrap与Select2使用小结
2017/02/17 Javascript
vuejs响应用户事件(如点击事件)
2017/03/14 Javascript
jquery之基本选择器practice(实例讲解)
2017/09/30 jQuery
Vue+ElementUI实现表单动态渲染、可视化配置的方法
2018/03/07 Javascript
vue通过点击事件读取音频文件的方法
2018/05/30 Javascript
vue实现二级导航栏效果
2019/10/19 Javascript
详解React的回调渲染模式
2020/09/10 Javascript
python实现对excel进行数据剔除操作实例
2017/12/07 Python
python list是否包含另一个list所有元素的实例
2018/05/04 Python
numpy.linalg.eig() 计算矩阵特征向量方式
2019/11/29 Python
Casetify官网:自制专属手机壳、iPad护壳和Apple Watch手表带
2018/05/09 全球购物
TOWER London官网:鞋子、靴子、运动鞋等
2019/07/14 全球购物
我的珠宝盒:Ma boîte à bijoux
2019/08/27 全球购物
ORACLE第二个十问
2013/12/14 面试题
计算机应用职专应届生求职信
2013/11/12 职场文书
小班上学期评语
2014/05/05 职场文书
中学生运动会口号
2014/06/07 职场文书
会展策划与管理专业求职信
2014/06/09 职场文书
自强自立美德少年事迹材料
2014/08/16 职场文书
乡镇镇长个人整改措施
2014/10/01 职场文书
2014党的群众路线教育实践活动总结报告
2014/10/31 职场文书
火烧圆明园观后感
2015/06/03 职场文书
浅谈mysql哪些情况会导致索引失效
2021/11/20 MySQL