小朋友们好,大朋友们好!

马上要过年了,谢谢大家对猫妹一年来的支持和鼓励!

祝大家在新的一年里身体健康、万事如意!

python 写对联(过年啦用Python写的对联)(1)

春联

你知道什么是春联吗?

春联儿有很多名字,比如门对,对联等,过年时,自然少不了中国红。

python 写对联(过年啦用Python写的对联)(2)

不论是鞭炮,还是春联、年画等,还有穿新衣、戴新帽,处处都透着红,透着咱们对新的一年美好生活的憧憬和向往。

猫爸说,以前(他小时候)贴春联比现在热闹。

现在的春联,多半是直接从包邮区购买邮寄的,是厂家批量生产批量发货。

花钱买东西是爽快,却少了一丝氛围。

猫爸那个年代(90年代),工业不是那么发达,有的街坊买印刷好的串联,还有自己买纸买墨自己写的街坊。

python 写对联(过年啦用Python写的对联)(3)

还有一些书法朋友们,除夕前几天,闹市街头,几张桌子,一叠红字,几瓶墨水,现场挥毫泼墨,现场写对联,再送给围观的市民。

那个时候贴春联,用的是自己熬制的浆糊,

用点面粉兑点水,在火上熬啊熬,等差不多黏糊糊了,就大功告成了。

python 写对联(过年啦用Python写的对联)(4)

带上对联,抱着装有浆糊的锅,早早起来,贴春联喽!

小孩和大人配合,大人站在凳子上,把粘有浆糊的对联贴在门上,小朋友则作为观众,看看位置正不正。

没多久,门上、墙上、树上、粮仓上、水缸上、车上等都贴上了喜庆的对联。

走在大街上,处处都是中国红,透着喜庆,透着希望。

python 写对联(过年啦用Python写的对联)(5)

那时的热门对联,除了贴在门上,还有贴在大门对面的出门见喜,一进大门有一个大大的福字儿,粮食仓上贴着五谷丰登,卧室上贴着身体健康,两轮运输车、自行车等贴着车行万里等等。

简易版春联程序

简易版春联,可以用turtle库实现。

turtle是Python自带的一个库。

春联,不就是一个红色背景色加上一对儿对偶语句吗?

咱先看看效果:

python 写对联(过年啦用Python写的对联)(6)

代码很简单,猫妹把它的获取方式放在本文尾部。

turtle,中文含义就是乌龟。

老外可喜欢乌龟啦,老外很多软件作品,都喜欢用乌龟作为吉祥物。

比如,TortoiseSVN、TortoiseGIT的可视化工具吉祥物就是小乌龟。

python 写对联(过年啦用Python写的对联)(7)

比如,ROS的吉祥物也是小乌龟。

比如,动画片《忍者神龟》的主角也是乌龟。

python 写对联(过年啦用Python写的对联)(8)

turtle其实是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。

turtle就是为了初学者而设计的,它上手容易,就是用程序在屏幕上画丰富多彩的图形。

比如,画一朵花:

python 写对联(过年啦用Python写的对联)(9)

花半天时间学下turtle,再看下这个简易版春联代码,so easy!

高阶版

咱们先看下效果:

python 写对联(过年啦用Python写的对联)(10)

漂亮吗?

好看吗?

喜欢吗?

咋做的?

导入库

高阶版程序需要用到几个库:

io、pillow、numpy、requests库。

io模块,系统自带、无需安装。

它包含着两种类文件StringIO和BytesIO,可把数据保存在内存中,像文件一样被操作。

pillow,中文意思是枕头,是基于PIL模块fork的一个派生分支,现在已经发展成为比PIL本身更常用的图像处理库。

注意事项:Pillow和PIL不能在同一个环境中共存。如果之前你的电脑有PIL,安装Pillow之前,请先卸载PIL。

numpy库提供了大型矩阵计算的方式,可用于计算,这是Python中缺少的。

requests库主要功能及用途是用作发送网络请求,根据对方服务器的要求不同,可使用GET、POST和PUT等方式进行请求。并且可以对请求头进行伪装、使用代理访问等。

原理简介

一副对联=横批 上联 下联

上联=若干个字

一个字=背景 单个字儿

我们以'和猫妹学编程 与家人过大年'为例。

首先需要将'和猫妹学编程 与家人过大年'拆分为上联和下联,即'和猫妹学编程'和'与家人过大年',空格用于切分上联和下联。

再以'和猫妹学编程'为例,上联其实就是六个字儿,只要依次将这个六个字儿排在一起就可以了。

每个字长什么样?

电脑自带的字体有些丑陋(作为对联中的字体的话),对联一般都是毛笔风格,潇洒飘逸,漂亮大气。

这个时候,就需要从网上下载字体了,下载那些和毛笔风格类似的字体。

除了字体,最好有一个喜气漂亮的背景。

这个背景漂亮吗?

python 写对联(过年啦用Python写的对联)(11)

这个字漂亮吗?

这个字的背景是透明的哦!

python 写对联(过年啦用Python写的对联)(12)

这个背景 字儿漂亮吗?

python 写对联(过年啦用Python写的对联)(13)

生成对联

把对联中的文字,逐次生成,不就是对联吗?

这是竖向效果:

python 写对联(过年啦用Python写的对联)(14)

代码在这里

代码都是网上大神写的,如果对这几个程序感兴趣的话,可以按下图获取代码哈!

python 写对联(过年啦用Python写的对联)(15)

如果链接失效了,可以直接联系猫妹获取,一定要注明和猫妹学Python哦!

也欢迎加入猫妹Python互助学习小组,一起玩转Python。

好了,今天的分享就到这里,谢谢朋友们的阅读。

我是猫妹,咱们下次见!

,