python 写对联(过年啦用Python写的对联)
小朋友们好,大朋友们好!
马上要过年了,谢谢大家对猫妹一年来的支持和鼓励!
祝大家在新的一年里身体健康、万事如意!
春联
你知道什么是春联吗?
春联儿有很多名字,比如门对,对联等,过年时,自然少不了中国红。
不论是鞭炮,还是春联、年画等,还有穿新衣、戴新帽,处处都透着红,透着咱们对新的一年美好生活的憧憬和向往。
猫爸说,以前(他小时候)贴春联比现在热闹。
现在的春联,多半是直接从包邮区购买邮寄的,是厂家批量生产批量发货。
花钱买东西是爽快,却少了一丝氛围。
猫爸那个年代(90年代),工业不是那么发达,有的街坊买印刷好的串联,还有自己买纸买墨自己写的街坊。
还有一些书法朋友们,除夕前几天,闹市街头,几张桌子,一叠红字,几瓶墨水,现场挥毫泼墨,现场写对联,再送给围观的市民。
那个时候贴春联,用的是自己熬制的浆糊,
用点面粉兑点水,在火上熬啊熬,等差不多黏糊糊了,就大功告成了。
带上对联,抱着装有浆糊的锅,早早起来,贴春联喽!
小孩和大人配合,大人站在凳子上,把粘有浆糊的对联贴在门上,小朋友则作为观众,看看位置正不正。
没多久,门上、墙上、树上、粮仓上、水缸上、车上等都贴上了喜庆的对联。
走在大街上,处处都是中国红,透着喜庆,透着希望。
那时的热门对联,除了贴在门上,还有贴在大门对面的出门见喜,一进大门有一个大大的福字儿,粮食仓上贴着五谷丰登,卧室上贴着身体健康,两轮运输车、自行车等贴着车行万里等等。
简易版春联程序
简易版春联,可以用turtle库实现。
turtle是Python自带的一个库。
春联,不就是一个红色背景色加上一对儿对偶语句吗?
咱先看看效果:
代码很简单,猫妹把它的获取方式放在本文尾部。
turtle,中文含义就是乌龟。
老外可喜欢乌龟啦,老外很多软件作品,都喜欢用乌龟作为吉祥物。
比如,TortoiseSVN、TortoiseGIT的可视化工具吉祥物就是小乌龟。
比如,ROS的吉祥物也是小乌龟。
比如,动画片《忍者神龟》的主角也是乌龟。
turtle其实是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。
turtle就是为了初学者而设计的,它上手容易,就是用程序在屏幕上画丰富多彩的图形。
比如,画一朵花:
花半天时间学下turtle,再看下这个简易版春联代码,so easy!
高阶版
咱们先看下效果:
漂亮吗?
好看吗?
喜欢吗?
咋做的?
导入库
高阶版程序需要用到几个库:
io、pillow、numpy、requests库。
io模块,系统自带、无需安装。
它包含着两种类文件StringIO和BytesIO,可把数据保存在内存中,像文件一样被操作。
pillow,中文意思是枕头,是基于PIL模块fork的一个派生分支,现在已经发展成为比PIL本身更常用的图像处理库。
注意事项:Pillow和PIL不能在同一个环境中共存。如果之前你的电脑有PIL,安装Pillow之前,请先卸载PIL。
numpy库提供了大型矩阵计算的方式,可用于计算,这是Python中缺少的。
requests库主要功能及用途是用作发送网络请求,根据对方服务器的要求不同,可使用GET、POST和PUT等方式进行请求。并且可以对请求头进行伪装、使用代理访问等。
原理简介
一副对联=横批 上联 下联
上联=若干个字
一个字=背景 单个字儿
我们以和猫妹学编程 与家人过大年为例。
首先需要将和猫妹学编程 与家人过大年拆分为上联和下联,即和猫妹学编程和与家人过大年,空格用于切分上联和下联。
再以和猫妹学编程为例,上联其实就是六个字儿,只要依次将这个六个字儿排在一起就可以了。
每个字长什么样?
电脑自带的字体有些丑陋(作为对联中的字体的话),对联一般都是毛笔风格,潇洒飘逸,漂亮大气。
这个时候,就需要从网上下载字体了,下载那些和毛笔风格类似的字体。
除了字体,最好有一个喜气漂亮的背景。
这个背景漂亮吗?
这个字漂亮吗?
这个字的背景是透明的哦!
这个背景 字儿漂亮吗?
生成对联
把对联中的文字,逐次生成,不就是对联吗?
这是竖向效果:
代码在这里
代码都是网上大神写的,如果对这几个程序感兴趣的话,可以按下图获取代码哈!
如果链接失效了,可以直接联系猫妹获取,一定要注明和猫妹学Python哦!
也欢迎加入猫妹Python互助学习小组,一起玩转Python。
好了,今天的分享就到这里,谢谢朋友们的阅读。
我是猫妹,咱们下次见!
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。