利用Python编写个冷笑话生成器

作者:白露未晞me 时间:2021-05-10 15:13:20 

导语

带大家写个冷笑话生成器吧,感觉蛮有意思的。

废话不多说,让我们愉快地开始吧~

开发工具

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编写个冷笑话生成器

源码地址

来源:https://mp.weixin.qq.com/s/PUTJxDLpCVRSaUzvarizEQ

标签:Python,冷笑话生成器
0
投稿

猜你喜欢

  • 在Python的Flask中使用WTForms表单框架的基础教程

    2023-05-10 05:20:08
  • Python人脸检测实战之疲劳检测

    2021-02-23 16:31:37
  • 关于多元线性回归分析——Python&SPSS

    2023-03-11 17:03:34
  • OpenCV实现去除背景识别的方法总结

    2021-01-06 23:04:10
  • Python虚拟环境的创建和使用详解

    2022-09-14 18:05:26
  • Python+Opencv实现数字识别的示例代码

    2021-03-10 14:16:38
  • Python中如何导入类示例详解

    2023-05-09 08:35:58
  • Python Pandas实现DataFrame合并的图文教程

    2023-02-01 17:02:48
  • Python数据结构栈实现进制转换简单示例

    2022-10-21 13:48:21
  • Django使用paginator插件实现翻页功能的实例

    2023-09-06 05:23:19
  • 模拟兼容性的 addDOMLoadEvent 事件

    2009-07-31 12:37:00
  • Python中用max()方法求最大值的介绍

    2021-12-08 09:33:06
  • python随机模块random使用方法详解

    2022-07-02 04:31:10
  • Python算法之栈(stack)的实现

    2022-09-01 15:26:15
  • Python PyQt5-图形界面的美化操作

    2023-11-08 23:04:34
  • django实现分页的方法

    2023-07-04 02:57:44
  • PyQt5+Pycharm安装和配置图文教程详解

    2022-12-20 08:50:26
  • ASP中双引号单引号和&连接符使用技巧

    2007-10-01 18:20:00
  • Python matplotlib图例放在外侧保存时显示不完整问题解决

    2023-10-08 14:05:35
  • python脚本替换指定行实现步骤

    2022-03-18 16:53:28
  • asp之家 网络编程 m.aspxhome.com