【Python项目】Python实现一个亲戚关系计算器,过年回家再也不要怕叫错人了 | 附带源码

前言

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

相关文件

关注小编,私信小编领取哟!
当然别忘了一件三连哟~~
源码点击蓝色字体领取

算法实现与介绍

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

需求

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

数据定义

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

【关系】f:父,m:母,h:夫,w:妻,s:子,d:女,xb:兄弟,ob:兄,lb:弟,xs:姐妹,os:姐,ls:妹

【修饰符】 &o:年长,&l:年幼,#:隔断,[a|b]:并列

2、关系对应数据集合、关系过滤数据集合(data.json 和 filter.json)
原来参考的作者的关系过滤数据集合json有点问题,改了一下

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

算法实现

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

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

分析

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

开发工具

Python版本:3.7.8
相关模块:
tkinter模块;
random模块;
threading模块;
以及一些python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

效果展示

在这里插入图片描述

代码展示

算法主要函数一:transformTitleToKey

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

源码+课件+学习解答加群:494958217
# 将文字转换成关系符号
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(

猜你喜欢

转载自blog.csdn.net/Gtieguo/article/details/128797645