用Python分析身份證號碼的正誤

2021-08-28 22:20:25 字數 1022 閱讀 7110

一權值:就是每個元素或樣式所佔的分量

二python運算子:運算子按python慣例:x**y表示x的y次方,x%y表示x除以y的餘數。

三:如果乙個身份證號是正確的,那麼:

引用(a[0]*w[0] + a[1]*w[1] + a[2]*w[2] + ... + a[16]*w[16] + a[17]*w[17]) % 11 == 1

詳細**如下:

id=input('請輸入十八位身份證號碼:')

if len(id)==18:print("你的身份證號碼是"+id)

else:print("錯誤的身份證號碼")#初步判斷(根據長度)

id_add=id[0:6]

id_***=id[14:17]

id_brith=id[6:14]

id_check=id[17]

#id_add是身份證中的區域**,如果有行政區劃**字典

#就可以獲取大致位址

year=id_brith[0:4]

moon=id_brith[4:6]

day=id_brith[6:8]

print("生日:"+year+'年'+moon+'月'+day+'日')

if int(id_***)%2==0:print("性別:女")

else:print("性別:男")

w=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]

id_num=[18,17,16,14,13,12,11,10,9,8,7,6,5,4,3,2]

id_check=['1','0','x','9','8','7','6','5','4','3','2']

id_axw=0 

for i in range(len(w)):id_axw=id_axw+int(id[i])*w[i]

id_check=id_axw%11

if id_check==id_check[id_check]:print('正確的身份證號碼')

else:print('錯誤的身份證號碼')

身份證號碼

每乙個人自出生後都會有乙個身份證號碼。根據我國有關部門規定,公民身份號碼是特徵組合碼,由十七位數字本體碼和一位數字校驗碼組成。排列順序從左至右依次為 六位數字位址碼,八位數字出生日期碼,三位數字順序碼和一位數字校驗碼。居民身份證是國家法定的證明公民個人身份的有效證件。例如 對於身份證號碼330719...

身份證號碼驗證

說明 驗證身份證的有效性 引數 cid 身份證號碼 返回 地方 出生時間 性別 private string checkcidinfo string cid if cid.length 18 char c cid cid.length 1 bool last false if c 0 c 9 c a...

身份證號碼檢測

華為的上機題 我國公民的身份證號碼特點如下 1 長度為18位 2 第1 17位只能為數字 3 第18位可以是數字或者小寫英文本母x。4 身份證號碼的第7 14位表示持有人生日的年 月 日資訊。例如 511002 19880808 0111或511002 19880808011x。請實現身份證號碼合法...