溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python無線對聯(lián)生成器

發(fā)布時間:2021-09-24 15:06:44 來源:億速云 閱讀:165 作者:柒染 欄目:開發(fā)技術(shù)

這篇文章給大家介紹python無線對聯(lián)生成器,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

導(dǎo)語

python無線對聯(lián)生成器

時逢中秋佳節(jié),古人吟詩對唱、把酒言歡的日子, 佳節(jié)加上對聯(lián),那就是相得益彰。

普天同慶、花好月圓慶中秋,中秋將至,為營造溫馨、和諧的節(jié)日氛圍

python無線對聯(lián)生成器

python無線對聯(lián)生成器小編以對對聯(lián)的形式,表達了對節(jié)日的祝福

都有哪些對聯(lián)呢?讓我們一睹為快吧~

python無線對聯(lián)生成器

正文

環(huán)境安裝:

Python3.6、Pycharm、requests模塊、界面是基于PyQt5。

python無線對聯(lián)生成器

首先設(shè)置對聯(lián)生成器的界面小標(biāo)題等。

class CoupletGenerator(QWidget):
    def __init__(self, parent=None, **kwargs):
        super(CoupletGenerator, self).__init__(parent)
       
        self.setWindowTitle('對聯(lián)生成器')
        self.setWindowIcon(QIcon('data/icon.jpg'))
        self.setFixedSize(600, 400)

如下:

python無線對聯(lián)生成器

然后設(shè)置好相應(yīng)的按鈕組件、布局。

 self.label_title = QLabel('對聯(lián)主題:')
        self.line_title = QLineEdit('中秋佳節(jié)')
        self.generate_btn = QPushButton('生成')
        self.label_result = QLabel('生成結(jié)果:')
        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)

最后生成對聯(lián)為橫批、上聯(lián)、下聯(lián)。

  def generate(self):
        if not self.line_title.text().strip():
            return
        url = f'https://aip.baidubce.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上聯(lián): {first}\n下聯(lián): {second}'
            all_couplets.append(text)
        self.text_couple.setText('\n\n\n'.join(all_couplets))

效果如下:

python無線對聯(lián)生成器

python無線對聯(lián)生成器

python無線對聯(lián)生成器

總結(jié)

好啦!門前的對聯(lián)知道貼什么了吧?

python無線對聯(lián)生成器

關(guān)于python無線對聯(lián)生成器就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI