“娱乐圈千古绝对”遇上Python

今天,被一篇《这大概就是娱乐圈所谓的千古绝对了吧》刷了屏,文章大概是这样的:

un

下面有评论点出了此联的特点:

上联是存在规律的三个名人的名字,第一个人名的后两字与第二个人名前两字相同,与第三个人名的倒序相同;其中前两个是真实人物,中间的是虚拟人物。那么是不是可以通过编程,筛选出一部分可能的答案,进而为对出下联提供参考呢?

基于以上设想,采用了以下思路进行尝试:

爬虫抓取名人姓名

将人名分为两字和三字

按照规律迭代人名,找出符合规律的组合

由于代码很简单,就不贴上来了,直接上结果:

不考虑谐音:

由于没有找到比较合适的虚拟人物数据源,所以,所有人名都是现实中的明星,数据量3000。数据集的不完整让我对结果有着一种不好的预感。果然,最后除了上联之外,程序没有找到其他符合规律的组合:

由于上联第二个人为虚拟人物,而本次的数据集没有虚拟人物,我把第二个人名的限制去掉,得到了以下结果:

可惜本人才疏学浅,实在想不出馨尹X,雪杨X,子珊X能找到哪些名字对应,而且明道可解释为明白道理,尹馨是没什么实际含义的呢,杨雪解释成扬起雪花还好,珊子....扇自己的孩子么,不合适。

考虑谐音:

上联的规律是不包括谐音的,考虑谐音其实已经降低下联的水平,但是不考虑谐音也着实没有找到合适的下联,所以还是对谐音的情况进行了一次筛选:

看着不少,仔细分析却发现这些“下联”与上联相比,完全不在一个层次,要么是缺少意义,要么是人名完全没听过。就不再多做分析。可见,对于这个程序而言,这个上联着实算得上“绝对”。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180606G1HHXJ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券