编程题:单个身份证的校验 - 实验19 身份证校验 - 《Python编程基础及应用实验教程》 - 高教社
一个合法的身份证号码由6位地区码、8位出生日期、3位顺序号加1位校验码组成。比如,在身份证号320124198808240056中,320124为地区码,19880824为出生日期,005则为顺序号,6则是根据前17数字生成的校验码。校验码可以帮助检查身份证号在转述,抄录的过程中是否出现错误。<br>
校验码的计算规则如下:<br>
1) 对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
2) 将加权和对11取模得到余数Z;
3) 按下述Z-M对应关系取得校验码M。
Z: [0,1,2,3,4,5,6,7,8,9,10]
M: [1,0,X,9,8,7,6,5,4,3,2]。
### 输入格式:
一个身份证字符串
### 输出格式:
正确/错误
### 输入样例:
in
320124198808240056
### 输出样例:
out
正确
答案:若无答案欢迎评论
校验码的计算规则如下:<br>
1) 对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
2) 将加权和对11取模得到余数Z;
3) 按下述Z-M对应关系取得校验码M。
Z: [0,1,2,3,4,5,6,7,8,9,10]
M: [1,0,X,9,8,7,6,5,4,3,2]。
### 输入格式:
一个身份证字符串
### 输出格式:
正确/错误
### 输入样例:
in
320124198808240056
### 输出样例:
out
正确
答案:若无答案欢迎评论