国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

python版親戚關(guān)系計(jì)算器

qujian / 2289人閱讀

摘要:于是就有機(jī)智的程序員開發(fā)出了親戚關(guān)系計(jì)算器,可以通過指定關(guān)系的疊加,計(jì)算出互相之間的關(guān)系稱謂,有的還可以通過稱呼來倒推關(guān)系。這個(gè)版本的算法是網(wǎng)上相對最完善的,并且被自帶親戚計(jì)算器功能所采用。

春節(jié)到了,免不了要去七大姑八大姨家拜年,順便接受長輩們的關(guān)懷。有時(shí)偶然遇到許久沒見過的遠(yuǎn)房親戚,叫不出合適的稱謂就尷尬了;或者即便被家人提示了叫法,但依然不知道和自己是什么關(guān)系。

于是就有機(jī)智的程序員開發(fā)出了 親戚關(guān)系計(jì)算器 ,可以通過指定關(guān)系的疊加,計(jì)算出互相之間的關(guān)系稱謂,有的還可以通過稱呼來倒推關(guān)系。這種工具網(wǎng)上已經(jīng)有了不少版本,網(wǎng)頁、App、微信小程序,都能搜到不少。不過講真,考慮到實(shí)際中能遇上的復(fù)雜關(guān)系以及東西南北各地稱呼不一樣,其實(shí)算不上實(shí)用。

但對于程序員來說,解決問題本身就具有挑戰(zhàn)的樂趣。

目前我看到比較好的版本是:
https://github.com/mumuy/relationship

演示地址:
http://passer-by.com/relationship/

小程序版本

這個(gè)問題看似簡單,其實(shí)處理起來也并不是幾行代碼就能解決的。簡單介紹下 mumuy 這個(gè)版本的原理:

定義最基本的原子關(guān)系,比如:f:父,m:母,h:夫,w:妻,s:子,d:女,xb:兄弟,ob:兄,lb:弟,xs:姐妹,os:姐,ls:妹

通過關(guān)系鏈,表示復(fù)合關(guān)系,比如:爺爺就是f,f,伯父就是f,ob

講前兩點(diǎn)對應(yīng)關(guān)系用字典的方式預(yù)先整理好,就是所有關(guān)系鏈到稱謂的直接映射

定義可簡化的關(guān)系,比如:哥哥的姐姐就是自己的姐姐,即 xb,xs 就是 xs;母親的丈夫 m,h 就是父親 f。這一步的作用是為了將復(fù)雜的關(guān)系鏈轉(zhuǎn)化成可查找到的直接關(guān)系鏈

為了處理性別、長幼帶來的影響,作者還額外定義了一些修飾符:1:男性,0:女性,&o:年長,&l:年幼,#:隔斷,[a|b]:并列

定義好以上信息好,當(dāng)獲取用戶的輸入后,將其轉(zhuǎn)化成關(guān)系符號(hào),再遞歸簡化關(guān)系鏈,直到不可再簡化為止,再去映射關(guān)系中查找稱呼。

這個(gè)版本的算法是網(wǎng)上相對最完善的,并且被MIUI自帶親戚計(jì)算器功能所采用。
作者的詳細(xì)解讀:
https://www.jianshu.com/p/74290f1ae838

我本來也打算挑戰(zhàn)一下,后來發(fā)現(xiàn)其實(shí)蠻復(fù)雜,估計(jì)等我寫好,《難忘今宵》都唱完了,于是作罷。就在此版本的基礎(chǔ)上,做了個(gè) python 版本的移植(原版是 js)。

本來打算嘗試用 jiphy 等自動(dòng)工具來把 js 轉(zhuǎn)成 python,結(jié)果發(fā)現(xiàn)效果差到不能看,所以最后是手動(dòng)轉(zhuǎn)的。原項(xiàng)目在文本和關(guān)系鏈處理時(shí)用了大量的正則計(jì)算,而我在轉(zhuǎn)代碼時(shí)也靠 SublimeText 的正則替換省了很多事。但同樣是正則,js 和 python 的寫法又有不少區(qū)別,可以說這個(gè)項(xiàng)目讓我對 正則表達(dá)式 的熟練度又 +1 了。

python 版代碼:https://gitee.com/crossin/snippet/tree/master/relationship

════

其他文章及回答:

如何自學(xué)Python | 新手引導(dǎo) | 精選Python問答 | Python單詞表 | 人工智能 | 爬蟲 | 我用Python | requests | 計(jì)算機(jī)視覺 | 字符播放器 | 一圖學(xué)Python | 智能防擋彈幕

歡迎搜索及關(guān)注公眾號(hào): Crossin的編程教室

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/43141.html

相關(guān)文章

  • 從養(yǎng)豬戶轉(zhuǎn)行測試一步步晉升為測試經(jīng)理實(shí)現(xiàn)財(cái)富自由,我是如何做到的...

    摘要:本人已從養(yǎng)豬轉(zhuǎn)行軟件測試,聊聊當(dāng)年的經(jīng)歷我的老家在農(nóng)村,雖然現(xiàn)在家里已經(jīng)不養(yǎng)豬了,但是父母每逢春節(jié)還是會(huì)買兩頭大肥豬。每年年底這兩頭大肥豬賣的一萬元錢,能頂他們半年的收入了。用糧食喂養(yǎng)的豬,它們是非常精神的,肉質(zhì)也很香嫩。 ...

    gyl_coder 評(píng)論0 收藏0
  • OpenStack和Docker不能,ServerLess能決定云計(jì)算勝負(fù)嗎?

    摘要:彼時(shí),從虛擬化管理到公有云,熱鬧異常。雖然年才明顯放棄公有云的全面競爭,但在年決定發(fā)起和開源項(xiàng)目是,不說明確,至少已經(jīng)隱隱覺得肯定搞不過亞馬遜了。年前賣的多火,被視為虛擬主機(jī)的升級(jí)版。當(dāng)然不是新堆棧,而是傳統(tǒng)堆棧。 還記得在十多年前,SaaS鼻祖SalesForce喊出的口號(hào)『No Software』嗎?SalesForce在這個(gè)口號(hào)聲中開創(chuàng)了SaaS行業(yè),并成為當(dāng)今市值460億美元的Saa...

    gitmilk 評(píng)論0 收藏0
  • 被領(lǐng)導(dǎo)拒絕漲薪申請,跳槽后怒漲8.5K,這是我的心路歷程~

    摘要:可能是被領(lǐng)導(dǎo)拒絕漲薪給刺激了,就一直想著跳槽漲薪。還有就是那個(gè)不肯漲薪的領(lǐng)導(dǎo),辭職以后,所有的都是,卻連都不愿意給我漲。 畢業(yè)1年時(shí)間,從2k漲到15k,轉(zhuǎn)行測試承...

    BothEyes1993 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

qujian

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<