解析、查询身份证号代码

欢迎访问我的主页

1.配上讲解图

在这里插入图片描述

2.具体分析

身份证号码由18位数字组成。
其中的第一、第二数字表示公民所在地的省份(或自治区、直辖市)。
第三、第四位数字表示公民所在地的市(或州)。
第五、第六位数字表示公民所在地的县(或县级市)。
接下来的8位数字表示公民的出生年、月、日。
最后4位数字中的前两位表示当地派出所的编码;倒数第二位表示公民是男性还是女(男性用单数,女性用双数)。
最后一位数字是一个随机数,又称为校验码。
居民身份证号码:
根据〖中华人民共和国国家标准 GB 11643-1999〗中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。
排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。

3.查询代码

const_city = {     #各省份(或自治区、直辖市)的代码
    11: '北京',12: '天津',13: '河北',14: '山西',15: '内蒙古',21: '辽宁',22: '吉林',23: '黑龙江',31: '上海',\
    32: '江苏',33: '浙江',34: '安徽',35: '福建', 36: '江西',37: '山东', 41: '河南', 42: '湖北 ', 43: '湖南',\
    44: '广东', 45: '广西', 46: '海南', 50: '重庆', 51: '四川',52: '贵州', 53: '云南', 54: '西藏', \
    61: '陕西', 62: '甘肃', 63: '青海', 64: '宁夏',  65: '新疆',  71: '台湾', 81: '香港', 82: '澳门',\
    91: '国外'
}

id_num = '112528199606120553'   #输入需要查询的身份证号
if len(id_num)!=18:
    print('身份证号格式错误')
else:
    print('格式正确!')
    print('公民所在地的省份(或自治区、直辖市):',const_city[int(id_num[0:2])])
    print('公民所在地的市(或州):',id_num[2:4])
    print('公民所在地的县(或县级市):',id_num[4:6])
    print('出生信息为:%s年%s月%s日'%(id_num[6:10],id_num[10:12],id_num[12:14]))
    print('当地派出所的编码:',id_num[14:16])
    if int(id_num[16:18])%2!=0:
        print('性别:男')
    else:
        print('性别:女')
    print('校验码:',id_num[-1])

运行结果:
在这里插入图片描述
注:代码中只提供了各省份(或自治区、直辖市)的编号代码,如需查询具体公民所在地的市(或州)或者县(或县级市)的代码请点击2020年1月中华人民共和国县以上行政区划代码进行查询。

欢迎访问我的主页
不要白嫖,加个关注,点个赞再走吧!

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45104240/article/details/105204321
今日推荐