日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

用python制作全國身份證號驗(yàn)證及查詢系統(tǒng)

 頭號碼甲 2020-05-23

大家好哇,又是一個(gè)愉快的周末,今天本鳥給大家分享1個(gè)有趣的實(shí)戰(zhàn)項(xiàng)目,用python制作“全國身份證號驗(yàn)證及查詢系統(tǒng)”,成品界面如下圖: 

本系統(tǒng)可以實(shí)現(xiàn)身份證號真?zhèn)悟?yàn)證,年齡、性別及發(fā)證地查詢,看起來是不是很高大上,其實(shí)做起來不是很復(fù)雜,涉及知識主要有python字符串處理、表格讀寫和Gui制作,適合有一定python基礎(chǔ)的朋友練手,下面一起來看看怎么實(shí)現(xiàn)的吧!

第一步:身份證號解析

身份證號一般由18位號碼組成,前6位為地址碼,第7至14位為出生日期碼,第15至17位為順序碼,第18位為校驗(yàn)碼。6位地址碼為編碼對象戶口所在縣(市、區(qū))的行政區(qū)劃代碼;8位出生日期碼為出生年月日;3位順序碼為縣(市、區(qū))所轄派出所的分配碼,順序碼的奇數(shù)分配給男性,偶數(shù)分配給女性;1位校驗(yàn)碼是按統(tǒng)一公式計(jì)算出來的。

第二步:歸類整理地址碼與區(qū)縣對應(yīng)關(guān)系

這個(gè)網(wǎng)上比較常見,隨便搜索1個(gè)身份證號都會返回所在的區(qū)縣地址,我們要做的是把所有的對應(yīng)關(guān)系都找到,恰巧網(wǎng)上已經(jīng)有現(xiàn)成的了,不過要稍加整理,大家可以去網(wǎng)上找一下,但是要擦亮眼睛啊,有一個(gè)版本是錯(cuò)的,實(shí)在找不到的可以聯(lián)系我,我已經(jīng)整理好存入表格中

第三步:驗(yàn)證身份證號真?zhèn)?/p>

身份證最后一位校驗(yàn)碼算法如下:

①將身份證號碼前17位數(shù)分別乘以不同的系數(shù),從第1位到第17位的系數(shù)分別為:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2

②將得到的17個(gè)乘積相加。

③將相加后的和除以11并得到余數(shù)。

④余數(shù)可能為0 1 2 3 4 5 6 7 8 9 10這些個(gè)數(shù)字,其對應(yīng)的身份證最后一位校驗(yàn)碼為1 0 X 9 8 7 6 5 4 3 2。

代碼實(shí)現(xiàn)如下:

第四步:查詢地區(qū)

規(guī)則參考第一步,python兩行代碼就搞定了

不得不說,python就是簡單方便

第五步:計(jì)算出年齡及性別

規(guī)則同樣參考第一步,代碼如下:

到此為止,項(xiàng)目的主體功能已經(jīng)實(shí)現(xiàn),下面要想辦法用GUI界面實(shí)現(xiàn)。

第六步:制作GUI界面

本步驟主要用PyQt5實(shí)現(xiàn),下面我把核心代碼貼出來:

首先是以網(wǎng)格方式對標(biāo)簽及文本框進(jìn)行布局,并用setStyleSheet對文本框進(jìn)行修飾

然后是設(shè)置查詢按鈕并布局,再與check函數(shù)(信號)綁定

接著是在check函數(shù)中將查詢到的結(jié)果在文本框中顯示出來

最后設(shè)置主窗口圖片背景

到此為止,本項(xiàng)目就大功告成了,你學(xué)會了嗎?

但是要聲明一下,本文所介紹的查詢功能均為正向查詢,即在已知身份證號的前提下,解析原則來源于網(wǎng)絡(luò),不敢保證100%準(zhǔn)確,更不能反向推算出個(gè)人身份證號,所以不涉及侵犯隱私問題

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多