python编译2的n次方计算器_python版亲戚关系计算器

春节到了,免不了要去七大姑八大姨家拜年,顺便接受长辈们的关怀。有时偶然遇到许久没见过的远房亲戚,叫不出合适的称谓就尴尬了;或者即便被家人提示了叫法,但依然不知道和自己是什么关系。

于是就有机智的程序员开发出了 亲戚关系计算器 ,可以通过指定关系的叠加,计算出互相之间的关系称谓,有的还可以通过称呼来倒推关系。这种工具网上已经有了不少版本,网页、App、微信小程序,都能搜到不少。不过讲真,考虑到实际中能遇上的复杂关系以及东西南北各地称呼不一样,其实算不上实用。

但对于程序员来说,解决问题本身就具有挑战的乐趣。

小程序版本

这个问题看似简单,其实处理起来也并不是几行代码就能解决的。简单介绍下 mumuy 这个版本的原理:

定义最基本的原子关系,比如:f:父,m:母,h:夫,w:妻,s:子,d:女,xb:兄弟,ob:兄,lb:弟,xs:姐妹,os:姐,ls:妹

通过关系链,表示复合关系,比如:爷爷就是f,f,伯父就是f,ob

讲前两点对应关系用字典的方式预先整理好,就是所有关系链到称谓的直接映射

定义可简化的关系,比如:哥哥的姐姐就是自己的姐姐,即 xb,xs 就是 xs;母亲的丈夫 m,h 就是父亲 f。这一步的作用是为了将复杂的关系链转化成可查找到的直接关系链

为了处理性别、长幼带来的影响,作者还额外定义了一些修饰符:1:男性,0:女性,&o:年长,&l:年幼,#:隔断,[a|b]:并列

定义好以上信息好

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值