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高级应用实例对比:高效计算大文件中的最长行的长度
Jun 08 Python
python实现带声音的摩斯码翻译实现方法
May 20 Python
Python bytes string相互转换过程解析
Mar 05 Python
Django 允许局域网中的机器访问你的主机操作
May 13 Python
使用PyWeChatSpy自动回复微信拍一拍功能的实现代码
Jul 02 Python
Keras 数据增强ImageDataGenerator多输入多输出实例
Jul 03 Python
python给list排序的简单方法
Dec 10 Python
Python排序函数的使用方法详解
Dec 11 Python
pytorch 中forward 的用法与解释说明
Feb 26 Python
Python办公自动化之教你如何用Python将任意文件转为PDF格式
Jun 28 Python
Python实现对齐打印 format函数的用法
Apr 28 Python
python实现一个简单的贪吃蛇游戏附代码
Jun 28 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新手上路(十)
2006/10/09 PHP
php session 错误
2009/05/21 PHP
php INI配置文件的解析实现分析
2011/01/04 PHP
php Ubb代码编辑器函数代码
2012/07/05 PHP
php微信高级接口群发 多客服
2016/06/23 PHP
PHP面相对象中的重载与重写
2017/02/13 PHP
javascript表格隔行变色加鼠标移入移出及点击效果的方法
2015/04/10 Javascript
解决jQuery使用JSONP时产生的错误
2015/12/02 Javascript
AngularJS中如何使用$parse或$eval在运行时对Scope变量赋值
2016/01/25 Javascript
浅谈js原生拖放
2016/11/21 Javascript
防止页面url缓存中ajax中post请求的处理方法
2017/10/10 Javascript
详解Vue CLI3配置解析之css.extract
2018/09/14 Javascript
详解三种方式解决vue中v-html元素中标签样式
2018/11/22 Javascript
利用jsonp解决js读取本地json跨域的问题
2018/12/11 Javascript
layui表格设计以及数据初始化详解
2019/10/26 Javascript
基于jQuery实现可编辑的表格
2019/12/11 jQuery
Vue两个版本的区别和使用方法(更深层次了解)
2020/02/16 Javascript
[01:03:33]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
Python 多进程并发操作中进程池Pool的实例
2017/11/01 Python
python3中的md5加密实例
2018/05/29 Python
Python面向对象之继承和组合用法实例分析
2018/08/27 Python
Python图像处理实现两幅图像合成一幅图像的方法【测试可用】
2019/01/04 Python
利用python实现PSO算法优化二元函数
2019/11/13 Python
python 求定积分和不定积分示例
2019/11/20 Python
django模型动态修改参数,增加 filter 字段的方式
2020/03/16 Python
HTML5对手机页面长按会粘贴复制禁用的解决方法
2016/07/19 HTML / CSS
用HTML5.0制作网页的教程
2010/05/30 HTML / CSS
HTML5梦幻之旅——炫丽的流星雨效果实现过程
2013/08/06 HTML / CSS
台湾最大网路书店:博客来
2018/03/18 全球购物
Myprotein中国网站:欧洲畅销运动营养品牌
2021/02/11 全球购物
口腔医学技术应届生求职信
2013/11/09 职场文书
意向书范文
2014/03/31 职场文书
小学数学教师研修日志
2015/11/13 职场文书
为什么mysql字段要使用NOT NULL
2021/05/13 MySQL
Consul在linux环境的集群部署
2022/04/08 Servers
Android使用EventBus发送消息,Fragment中接收消息的方法会执行多次
2022/04/24 Java/Android