Python实现一个简单的中国亲戚关系计算器,可能自己多少都有点混乱吧

本文介绍了作者如何使用Python实现一个简单的中国亲戚关系计算器,旨在解决春节期间亲戚关系混乱的问题。文章详细阐述了算法实现,包括关系字符定义、数据过滤及三个主要函数的功能,并指出了一些已知问题和待改进的地方。
摘要由CSDN通过智能技术生成

相关文件

对了大家可以关注小编的公众号哟~~

公众号 Python日志

会不定时的更新一些好玩的资源的哟

导语

每年的春节,都会有一些自己几乎没印象但父母就是很熟的亲戚,关系凌乱到你自己都说不清。
今年趁着春节在家没事情干,正好之前知道有中国亲戚关系计算器,想着自己实现一下,特此记录。

算法实现与介绍

由于本人能力有限,只完成了基本功能…

需求

  • 计算亲戚关系链得出我应该怎么称呼的结果

数据定义

  1. 定义关系字符和修饰符

    【关系】f:父,m:母,h:夫,w:妻,s:子,d:女,xb:兄弟,ob:兄,lb:弟,xs:姐妹,os:姐,ls:妹
    【修饰符】 &o:年长,&l:年幼,#:隔断,[a|b]:并列

  2. 关系对应数据集合、关系过滤数据集合(data.json 和 filter.json)

filter 数据集的用途:比如 m,h 是我的妈妈的丈夫就是爸爸,也就是 f。 filter 的作用是去重和简化,需要把 exp 用str 进行替换

算法实现

需要解决的情况基本有以下三种:

  • 我的爸爸 = 爸爸,
  • 我的哥哥的弟弟 = 自己/弟弟/哥哥,
  • 我的哥哥的老公 = ?

分析
三种结果:1.单结果 2.多结果 3.错误提示 ,那么我们的算法要兼容以上三种情况
下面我们来一步步实现。

算法主要函数一:transformTitleToKey

该函数主要负责将文字转换成关系符号

# 将文字转换成关系符号
def transformTitleToKey(text):
    result = text.replace("的", ",").replace("我", "").replace("爸爸", "f").replace("父亲", "f").replace("妈妈","m").replace("母亲", "m").replace("爷爷","f,f").replace("奶奶", "f,m").replace("外公", "m,f").replace("姥爷", "m,f").replace("外婆", "m,m").replace("姥姥", "m,m").replace("老公","h").replace("丈夫", "h").replace("老婆", "w").replace("妻子", "h").replace("儿子", "s").replace("女儿&#
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值