利用Python编写个冷笑话生成器
作者:白露未晞me 发布时间:2021-05-10 15:13:20
标签:Python,冷笑话生成器
导语
带大家写个冷笑话生成器吧,感觉蛮有意思的。
废话不多说,让我们愉快地开始吧~
开发工具
Python版本:3.7.8
相关模块:
pyqt5模块;
以及一些python自带的模块。
环境搭建
安装Python并添加到环境变量,pip安装需要的相关模块即可。
原理简介
原理其实很简单,先去网上找点冷笑话:
然后把要讽刺的事情、事情的提出人、提出者声称这件事有助于、事件的受害者和事件发生的组织挖掉,根据用户输入自动填写就行了:
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)
于是就大功告成啦:
效果展示
首先安装最新版本的pikachupytools:
pip install pikachupytools --upgrade
然后写如下代码调用即可运行:
from pytools import pytools
tool_client = pytools.pytools()
tool_client.execute('sovietgenerator')
效果如下:
源码地址
来源:https://mp.weixin.qq.com/s/PUTJxDLpCVRSaUzvarizEQ


猜你喜欢
- python replace函数替换无效问题str = "hello,china!"str.replace("
- ajax.html <html><head> <met
- 本文实例讲述了SQL Server数据表字段自定义自增数据格式的方法。分享给大家供大家参考,具体如下:--修改数据表SYS_Company中
- 本文实例讲述了php常用字符串长度函数strlen()与mb_strlen()用法。分享给大家供大家参考,具体如下:int strlen (
- 这个问题是微信群中网友关于MySQL权限的讨论,有这么一个业务需求(下面是他的原话):因为MySQL的很多功能都依赖主键,我想用zabbix
- JS操作二进制很麻烦,而且一直没有一个好的无损压缩工具来实现纯文本的压缩。所以钻研了一段时间的gzip,后来发现还是仅用 LZ77 比较容易
- String Types(字符串类型)字符串类型Mysql支持多种字符串类型的变体。 这些数据类型在4.1和5.0版本中有较大的变化, 这使
- 写在前面vue中关于插槽的文档说明很短,语言又写的很凝练,再加上其和methods,data,computed等常用选项使用频率、使用先后上
- 目录注册组件添加组件源代码可拖放文本框允许用户通过拖动备选项至文本框来确定输入,其实也可以说是 combobox 的一种变形。 与 comb
- python中字符串内置方法很多,可以通过dir()方式查看具体有哪些方法,下表是python字符串的全部的内置方法方法名描述capital
- SQL Server具有强大的复制功能,除了将数据和数据库对象从一个数据库复制并准确分发的另一个数据库中,还要实行数据库之间的同步。SQL
- 说明1、for循环遍历:使用for循环直接遍历字典,此时得到字典的key值。2、keys():用于获取字典的key值。获得的类型是dict_
- 导读前面几章我们以经介绍了怎么批量对excel和ppt操作今天我们说说对word文档的批量操作应用python-docx允许您创建新文档以及
- MacJi “偷懒”翻译了部分,下午冒着被 BOSS 开除的危险将其补完(原文链接)。使用 line-height 垂直居中line-hei
- 亲测十分靠谱下面是解决该问题的方法第一步:关闭SIP系统保护1.重启系统时按住Command+R进入恢复模式(记住是你在重新启动时,不是启动
- 本教程配置好后一劳永逸,不用再配置,每次只需要选择 Python 解释器即可打开KBEngine的服务器项目文件夹(资产目录)其主要工程目录
- 在这篇入门教程中,我们假定你已经有了PHP语言程序、MySQL数据库、计算机网络通讯及XML语言基础。如果你还没有,那么请先学习相关知识。我
- UTF-8匹配: 在javascript中,要判断字符串是中文是很简单的。比如: var str = "php编程";
- 前言最近接到个任务是抽取mysql和Oracle的元数据,大致就是在库里把库、schema、表、字段、分区、索引、主键等信息抽取出来,然后导
- 小编语:小编我最早使用的网页制作工作就是FrontPage啦,FrongPage方便简单,会用Word就能做网页。如果你对网页制作要求不高,