Python 驗證身份證的正確性並獲得相關的資訊

2021-10-22 14:18:50 字數 1476 閱讀 7288

問題描述:輸入身份證號,校驗身份證號正確與否,不正確給予友情提示,

正確請獲得該身份證號對應的是那個省或者直轄市的,出生日期,以及性別

python**如下

d_animal=

d_number=

d_city=

print

('請輸入您的身份證號:')x=

(input()

)l=list

(x) #將輸入的序列轉化為列表

l2=[

] #建立乙個空列表

for n in l: #將列表中分開存放的字元常量轉化為數值型別,若不轉化,接下來sum的運算將出錯

l2.(int

(n))

l=l2

sum=

(l[0]*

7+l[1]

*9+l[2]*

10+l[3]

*5+l[4]*

8+l[5]

*4 #對列表元素進行運算,用於接下來的判斷身份證是否正確

+ l[6]

*2+l[7]*

1+l[8]

*6+l[9]*

3+l[10]

*7+l[11]*

9+l[12]

*10+l[13]*

5+l[14]

*8+l[15]*

4+l[16]

*2)last_number=

int(sum)%11

if d_number.

get(last_number)

==l[17]

: #根據餘數key找到對應的value進行對比

print

('您的身份證號碼正確!'

)else

:print

('您的身份證號碼輸入錯誤,請重新輸入'

)***=

int(x[-2

:-1]

)if ***%2==

0:print

('性別:女'

) #個生肖查詢

else

:print

('性別:男'

)print

('你的出生年月日為:%s年%s月%s日'

%(x[6:

10],x[10:12

],x[12:

14]))

print

('您的生肖為:'

,d_animal.

get(

int(x[6:

10])%

12))print

('您所在的城市為:'

,d_city.

get(

int(x[0:

2]))

)

驗證身份證號的正確性

1.需求 填寫人員資訊時,輸入的身份證號保證不會輸入錯誤,對輸入的身份證號進行校驗 身份證校驗 如果讓你設計個程式,用什麼變數儲存身份證號碼呢?長整數可以嗎?不可以 因為有人的身份證最後一位是 x 實際上,除了最後一位的x,不會出現其它字母 身份證號碼18位 17位 校驗碼 2.實現的演算法 iso...

居民身份證正確性驗證演算法

public idcard 驗證身份證是否符合格式 param idcard return public boolean verify string idcard if idcard.length 18 獲取輸入身份證上的最後一位,它是校驗碼 string checkdigit idcard.sub...

檢驗身份證的正確性 Golang版本

checkid card project main.go package main ai a1 a2,a3,a4,a5,a6.a17 a18 是校驗碼 身份證前17位對應 ai wi 7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2 17位 int res 0 for i 1 ...