前言
跨年跨完了,马上就要迎来春节了,这不得秀一手?
那就直接开始春节的表演呗
勉勉强强来用python制作对联生成器吧
效果展示
这里的话,你自己想要啥春联主题是可以搜索滴,有些地方也是可以看着改的,就看你们自己会不会咯,哈哈哈
不想看文章,想直接领取源码的,可以直接划到末尾的名片哦,或者点击文章里的蓝色字体就行
代码实现
模块准备
import sys
import json
import random
import requests
from PyQt5 import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5 import QtWidgets, QtGui
完整 源码 点击 此处 领取 即可
class CoupletGenerator(QWidget):
def __init__(self, parent=None, **kwargs):
super(CoupletGenerator, self).__init__(parent)
# 初始化, 相关key需要在https://.com/#/index/overview申请
self.setWindowTitle('Python学习交流Q群:309488165')
# self.setWindowIcon(QIcon('data/icon.png'))
self.setFixedSize(600, 400)
self.error_codes = {
'2': '后端连接超时请重试',
'52001': '请求超时请重试',
'52002': '系统错误请重试',
'52003': '未授权用户',
'52004': '输入解析失败',
'52005': '输入字段有误',
'52006': '输入文本长度不超过5',
'52007': '输入文本包含政治&黄色内容',
'52008': '后台服务返回错误请重试',
'54003': '访问频率受限',
'54100': '查询接口参数为空',
'54102': '无写诗结果请重试'
}
self.api_key = 'PKUMP5SkXlpLVF5DXbuWwwZT'
self.secret_key = 'D4Q6eo8AqfWxGemL0pNk41jfSRnnnefh'
self.access_token = self.gettoken()
设置组件
self.label_title = QLabel('春联主题:')
self.line_title = QLineEdit('新春佳节')
self.generate_btn = QPushButton('生成')
self.label_result = QLabel('生成结果:')
self.text_couple = QTextEdit()
布局
grid = QGridLayout()
grid.addWidget(self.label_title, 1, 0)
grid.addWidget(self.line_title, 1, 1, 1, 39)
grid.addWidget(self.generate_btn, 1, 40)
grid.addWidget(self.label_result, 2, 0)
grid.addWidget(self.text_couple, 2, 1, 1, 40)
self.setLayout(grid)
事件关联
python学习交流Q群:309488165 ### 源码领取
self.generate_btn.clicked.connect(self.generate)
'''生成对联'''
def generate(self):
if not self.line_title.text().strip():
return
url = f'https://******.com/rpc/2.0/nlp/v1/couplets?access_token={self.access_token}'
headers = {
'Content-Type': 'application/json'
}
all_couplets = []
index_ranges = [(0, 2), (3, 5), (6, 8), (9, 11), (12, 14)]
for idx in range(5):
params = {
'text': self.line_title.text(),
'index': random.randint(*index_ranges[idx]),
}
response = requests.post(url, headers=headers, json=params)
response_json = response.json()
center = response_json['couplets']['center']
first = response_json['couplets']['first']
second = response_json['couplets']['second']
text = f'横批: {center}\n上联: {first}\n下联: {second}'
all_couplets.append(text)
self.text_couple.setText('\n\n\n'.join(all_couplets))
最后
朋友们学习python,有时候不知道怎么学,从哪里开始学。掌握了基本的一些语法或者做了两个案例后,不知道下一步怎么走,不知道如何去学习更加高深的知识。
那么对于这些朋友们,我准备了大量的免费视频教程,PDF电子书籍,以及源代码!直接在文末名片自取即可哦!
今天的分享到这里就结束了
顺便给大家推荐一些Python视频教程,希望对大家有所帮助:
Python零基础教学合集
对文章有问题的,或者有其他关于python的问题,可以在评论区留言或者私信我哦
觉得我分享的文章不错的话,可以关注一下我,或者给文章点赞(/≧▽≦)/