前言
跨年跨完了,马上就要迎来春节了,这不得秀一手?
那就直接开始春节的表演呗
勉勉强强来用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的问题,可以在评论区留言或者私信我哦
 觉得我分享的文章不错的话,可以关注一下我,或者给文章点赞(/≧▽≦)/












![[JavaEE] volatile与wait和notify](https://img-blog.csdnimg.cn/a2dc7f6dffe44804990bf63e22afa5ec.png)





