爸爸的奶奶叫什么?Python打造爆款走亲戚神器!走上人生巅峰!

176 阅读2分钟

“父亲的父亲叫什么?”

“叫爷爷”  

“母亲的母亲叫什么?”

“叫外祖母(姥姥)”

——那妈妈的妈妈的爸爸的爷爷的弟弟的儿子

叫什么呢?

这个&*(*……&……%¥¥¥#@!……%&*(*)

尤其是在春节这个走亲访友的高峰期,

这时候便有一个问题摆在眼前,

许多远房亲戚都不认识,

叫错人怎么办?

过年总免不了要见各种亲戚,有比较亲的,但也有比较远的。很多时候,我们在远方亲戚面前都会“哑口无言”——妈啊!我该怎么称呼他/她?

图片

更恐怖的就是,你问老妈,她回答你“我也不知道”...........

不要担心,小编今天主动带大家做一个”爆款走亲戚神奇“。

只要输入那个人跟你的关系,隔n多带人都可以算出来。

有了这款神器,从此走上人生巅峰不是梦想。

23333.........

____________________________________________________________________________________________

不对这关系有点儿复杂。

搞错了再来:

这才是正确的打开方式。

想一款走亲戚神器的话首先是要了解各大关系:

​​

.......................................

1.建立数据库(BUT该工作量十分庞大,这里只展示几个例子):

me = {'f':'父亲','m':'母亲','bb':'哥哥','sb':'弟弟','bs':'姐姐','ss':'妹妹','son':'儿子','dau':'女儿'}
father = {'f':'爷爷','m':'奶奶','bb':'伯父','sb':'叔叔','bs':'姑妈','ss':'姑妈','son':['我','哥哥','弟弟'],'dau':['我','姐姐','妹妹']}
mother = {'f':'姥爷','m':'姥姥','bb':'大舅','sb':'小舅','bs':'大姨','ss':'小姨','son':['我','哥哥','弟弟'],'dau':['我','姐姐','妹妹']} ........

2.建立中文名与变量的对应关系:

name2var = {'我':me,'父亲':father,'母亲':mother,'哥哥':big_bro,\
            '弟弟':small_bro,'姐姐':big_sister,'妹妹':small_sister,\
            '儿子':son,'女儿':daughter}
relation2char =  dict(zip(me.values(), me.keys()))
 
import numpy as np
 
# 考虑返回值可能不止一个 如父亲的儿子可能为[‘我’,‘哥哥’,‘弟弟’]
def returnNext(names,relation):
    return_name = []
    for name in names:
        return_name.append(name2var[name][relation2char[relation]])
    return list(set(np.array(return_name).flatten()) 

3.使用一个函数,封装所有操作:

def getName(relation_name):
    relationships = relation_name.split('的')
    name = [relationships[0]]
    for relation in relationships[1:]:
        name = returnNext(name,relation)
    return name

结尾

文章就分享到这里,你学会了嘛?

需要完整的项目私信小编:06即可。

 好啦,最后:那小编问大家爸爸的妈妈的爷爷的儿子叫什么嘞??评论区见。