Python3身份证号升位
Python3⾝份证号升位
⾝份证号升位
描述
第⼆代居民⾝份证是依据2003年6⽉28⽇第⼗届全国⼈⼤常委会第3次会议通过的《中华⼈民共和国居民⾝份证法》实施的。第⼀代⾝份证⼗五位数升为第⼆代⾝份证⼗⼋位数的⼀般规则是:
第⼀步,在原⼗五位数⾝份证的第六位数后⾯插⼊19 (1905年1⽉1⽇以后出⽣)或20(2000.1.1-2004.12.31出⽣),这样⾝份证号码即为⼗七位数;
第⼆步,按照国家规定的统⼀公式计算出第⼗⼋位数,作为校验码放在第⼆代⾝份证的尾号。
校验码计算⽅法:将⾝份证前⼗七位数分别乘以不同系数并求和
S = Sum(Ai * Wi)
Ai:表⽰第i位置上的⾝份证号码数字值, i = 0, ... , 16
Wi:表⽰第i位置上的加权因⼦,Wi: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
S对11取模得到余数0-10,对应的校验码如下:
余数 Y: 0 1 2 3 4 5 6 7 8 9 10
校验码: 1 0 X 9 8 7 6 5 4 3 2
#题⽬假设所有⼈均出⽣于1905年1⽉1⽇以后,2005年1⽉1⽇以前
输⼊格式
输⼊⼀个15位⾝份证号
输出格式
输出⼀个18位⾝份证号
输⼊输出⽰例分子动理论
输⼊                                          输出
1分米等于多少厘米
310112*********                    310112************
代码
独一无二的近义词Y = {0:'1',1:'0',2:'X',3:'9',4:'8',5:'7',6:'6',7:'5',8:'4',9:'3',10:'2'}
骑马与砍杀战团攻略
Wi = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]
id = input()
抖音IP地址上高速免费下高速过了免费时间if int(id[6:8]) < 5:
id = id[0:6]+"20"+id[6:]
else:
id = id[0:6]+"19"+id[6:]
s = 0
for i in range(0,17):
s = s + int(id[i]) * Wi[i]
id = id + Y[s%11]
print(id)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。