中秋节老家要贴对联之python无线对联生成器

目录
  • 导语
  • 正文
  • 总结

导语

​​

时逢中秋佳节,古人吟诗对唱、把酒言欢的日子, 佳节加上对联,那就是相得益彰。

普天同庆、花好月圆庆中秋,中秋将至,为营造温馨、和谐的节日氛围

小编以对对联的形式,表达了对节日的祝福

都有哪些对联呢?让我们一睹为快吧~

正文

环境安装:

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

​​

首先设置对联生成器的界面小标题等。

class CoupletGenerator(QWidget):
    def __init__(self, parent=None, **kwargs):
        super(CoupletGenerator, self).__init__(parent)

        self.setWindowTitle('对联生成器')
        self.setWindowIcon(QIcon('data/icon.jpg'))
        self.setFixedSize(600, 400)

如下:

​然后设置好相应的按钮组件、布局。

 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)

最后生成对联为横批、上联、下联。

  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上联: {first}\n下联: {second}'
            all_couplets.append(text)
        self.text_couple.setText('\n\n\n'.join(all_couplets))

效果如下:​

总结

好啦!门前的对联知道贴什么了吧?

到此这篇关于中秋节老家要贴对联之python无线对联生成器的文章就介绍到这了,更多相关python 对联生成内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 中秋将至利用python画一些月饼从天而降不用买了

    目录 ​​导语 正文 ​​总结 ​ ​​导语 好消息!下一个假期已经在路上了,正在向我们招手呢! 大家只要再坚持5天 就能迎来中秋小长假啦~ ​"海上生明月,天涯共此时" 又是一年中秋至!快跟着小编来看看怎么寓教于乐吧-- 今天带大家编写一款应时应景的中秋小游戏! 天上掉月饼啦~天上掉月饼啦~天上掉月饼啦~ 正文 ​准备好相应的素材如下: ​ 环境安装: Python3.6.pycharm2021.游戏模块Pygame. 安装:pip install pygame ​初始化游戏加载素材

  • 中秋送礼分配不均这款python刮刮卡完美解决问题

    导语 每次回家小编的身边都会聚集着一堆小朋友,这就是家住一个村的好处. 一回家就接收到七大姑八大姨的亲切的问候,关系那是特别不错的,小朋友也不怕我. ​ 去年因为给小朋友带了一些礼物但是分配不均匀,导致了灾难现场哭声一片...... 我老妈还以为我咋的她们了? ​ emmmmmm,完了我只想说一句,"打扰了" 今年中秋怕家里的小孩子们因为分配礼物重蹈覆辙,聪明的我制作了一款中秋礼物刮刮乐,刮到什么就拿什么! ​ 正文 中秋送给孩子们的礼物已经选好了,当当当图片如下: ​ 一堆中秋月饼的

  • 中秋快到了利用 python 绘制中秋礼物

    目录 导语 正文 总结 导语 ​ 哈喽哈喽!大家上午好,我是木木子. 新的一天开始啦,之前写了很多的画图代码嗯哼!你们还记得嘛?我就不整理了蛮多滴,你们可以自己翻翻往期的文章哈,有简单的 也有难点儿的总有一款适合你们~嘿嘿. 话说--中秋也快到了,你们放几天假吖? 假期长的小伙伴儿知道回家带什么礼物更让家人开心嘛?假装不知道.jpg. 小编告诉你们:当然是带着你们的男朋友.女朋友回家了~,来来来,有了对象没得对象的都看过来哈,时间仓促,给你们的中秋福利送了哈,写一个简单的中秋表白的画图源码啦!

  • 使用Python为中秋节绘制一块美味的月饼

    对于在外的游子,每逢佳节倍思亲.而对于996ICU的苦逼程序猿们,最期待的莫过于各种节假日能把自己丢在床上好好休息一下了.这几天各公司都陆续开始发中秋礼品了.朋友圈各种秀高颜值的月饼,所以今天我也提前给大家送去一份中秋的美味月饼吧! python & turtle python的turtle库,最早还是在小甲鱼的[零基础入门学习Python]中接触的,好久没用了有些生疏,带大家一起回顾下模块的使用吧. 如果你是想认真学习这个库,推荐去官网仔细学习 https://docs.python.org/

  • 中秋节老家要贴对联之python无线对联生成器

    目录 导语 正文 总结 导语 ​​ 时逢中秋佳节,古人吟诗对唱.把酒言欢的日子, 佳节加上对联,那就是相得益彰. 普天同庆.花好月圆庆中秋,中秋将至,为营造温馨.和谐的节日氛围 ​ ​ 小编以对对联的形式,表达了对节日的祝福 都有哪些对联呢?让我们一睹为快吧~ ​ ​ 正文 环境安装: Python3.6.Pycharm.requests模块.界面是基于PyQt5.​ ​​ ​ 首先设置对联生成器的界面小标题等. class CoupletGenerator(QWidget): def __in

  • python迭代器与生成器详解

    例子 老规矩,先上一个代码: def add(s, x): return s + x def gen(): for i in range(4): yield i base = gen() for n in [1, 10]: base = (add(i, n) for i in base) print list(base) 这个东西输出可以脑补一下, 结果是[20,21,22,23], 而不是[10, 11, 12, 13]. 当时纠结了半天,一直没搞懂,后来齐老师稍微指点了一下, 突然想明白了-

  • Python 迭代器与生成器实例详解

    Python 迭代器与生成器实例详解 一.如何实现可迭代对象和迭代器对象 1.由可迭代对象得到迭代器对象 例如l就是可迭代对象,iter(l)是迭代器对象 In [1]: l = [1,2,3,4] In [2]: l.__iter__ Out[2]: <method-wrapper '__iter__' of list object at 0x000000000426C7C8> In [3]: t = iter(l) In [4]: t.next() Out[4]: 1 In [5]: t.

  • 详解python中的生成器、迭代器、闭包、装饰器

    迭代是访问集合元素的一种方式.迭代器是一个可以记住遍历的位置的对象.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退. 1|1可迭代对象 以直接作用于 for 循环的数据类型有以下几种: 一类是集合数据类型,如 list . tuple . dict . set . str 等: 一类是 generator ,包括生成器和带 yield 的generator function. 这些可以直接作用于 for 循环的对象统称为可迭代对象: Iterable .

  • Python迭代器和生成器定义与用法示例

    本文实例讲述了Python迭代器和生成器定义与用法.分享给大家供大家参考,具体如下: 迭代器 iter() 迭代器是访问集合中元素的一种方式,迭代器 object 从集合中的第一个元素开始访问,直到所有的元素被访问完成. 所以迭代器的特点是:只能往前,不能后退 迭代器的优点:不需要提前准备整个迭代器中的所有元素,仅仅迭代到某个元素时才计算该元素,而之前或者之后,元素可以不存在或者销毁.因为这个特点,迭代器特别适合遍历文件比较大或者无限的集合. 总结下迭代器 iter()的特点吧: 1.访问者不需

  • Python迭代器与生成器基本用法分析

    本文实例讲述了Python迭代器与生成器基本用法.分享给大家供大家参考,具体如下: 迭代器 可以进行for循环的数据类型包括以下两种: 1. 集合数据类型比如list,tuple,dict,str等 2. 另一种是生成器 而他们都是可迭代对象,称为Iterable Isinstandce()可以用来判断对象是否为可迭代对象 >>> from collections import Iterable >>> isinstance([], Iterable) True >

  • Python迭代器与生成器用法实例分析

    本文实例讲述了Python迭代器与生成器用法.分享给大家供大家参考,具体如下: 迭代器,迭代的工具 什么是迭代器? 指的是一个重复的过程,每一次重复称为一次迭代,并且每一次重复的结果是下一次重复的初始值 l=['a','b','c'] count=0 while count <len(l): print(l[count]) count+=1 为什么要有迭代器 1.对于序列类型:str,list,tuple,可以依赖索引来迭代取值 2.对于dict,set,文件,python必须为我们提供一种不依

  • python颜色随机生成器的实例代码

    1. 代码: def random_color(number=number): color = [] intnum = [str(x) for x in np.arange(10)] #Out[138]: ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'] alphabet = [chr(x) for x in (np.arange(6) + ord('A'))] #Out[139]: ['A', 'B', 'C', 'D', 'E', 'F']

  • 浅谈Python中的生成器和迭代器

    迭代器 迭代器协议 对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么返回一个异常来终止本次迭代.(只能往前走,不能往后退!) 迭代器对象 遵循了(实现了)迭代器协议的对象.(对象内部实现了一个__next__方法,以实现迭代器协议)称为一个迭代器对象.他们的作用是逐个遍历容器中的对象.迭代器对象一定是可迭代对象 >>> from collections import Iterable, Iterator >>> l = list([1,2,3]) #

  • 实例讲解Python 迭代器与生成器

    迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退. 迭代器有两个基本的方法:iter() 和 next(). 字符串,列表或元组对象都可用于创建迭代器: >>> list=[1,2,3,4] >>> it = iter(list) # 创建迭代器对象 >>> print (next(it)) # 输出迭

随机推荐