Python身份证码值对照表
时间: 2024-06-01 13:06:05 浏览: 21
Python身份证码值对照表是指根据身份证号码的最后一位数字,判断这个人的性别和出生年月。具体的对照表如下:
1. 1、5表示男性,2、6表示女性;
2. 01、02、03、04、05、06、07、08、09、10、11、12表示出生月份;
3. 11位数字的前两位表示省份,其中11-15表示北京、天津、河北、山西、内蒙古自治区;
4. 从身份证号码的第7位到第14位表示出生日期,按照年、月、日的顺序排列;
5. 身份证号码的第15位到第17位是顺序码,表示在当天出生的人的顺序,即第几个出生的。
注意:身份证号码的最后一位为校验码,是用来检验身份证号码的合法性的,不属于身份证码值对照表的范畴。
相关问题
python身份证码值对照表文件
可以通过以下代码来生成一个身份证码值对照表文件:
```
import csv
# 生成身份证码值对照表文件
with open('id_code.csv', mode='w', newline='') as file:
writer = csv.writer(file)
writer.writerow(['数字', '身份证码值'])
for i in range(10):
code = str(i)
writer.writerow([code, str(ord(code) - 48)])
for i in range(65, 91):
code = chr(i)
writer.writerow([code, str(ord(code) - 55)])
```
运行完以上代码后,会在当前目录下生成一个名为 `id_code.csv` 的文件,内容如下:
```
数字,身份证码值
0,0
1,1
2,2
3,3
4,4
5,5
6,6
7,7
8,8
9,9
A,10
B,11
C,12
D,13
E,14
F,15
G,16
H,17
I,18
J,19
K,20
L,21
M,22
N,23
O,24
P,25
Q,26
R,27
S,28
T,29
U,30
V,31
W,32
X,33
Y,34
Z,35
```
你可以将这个文件导入到你的Python程序中,然后使用 `csv` 模块进行读取和解析。
python身份证对照代码
Python身份证对照代码是一段用于校验身份证号码合法性的Python代码。以下是一个简单的身份证号码校验函数示例:
```python
def check_id(id):
if len(id) != 18:
return False
weight = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
check_code = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2']
sum = 0
for i in range(17):
sum += int(id[i]) * weight[i]
if check_code[sum % 11] == id[-1]:
return True
else:
return False
```
该函数接受一个字符串参数id,表示待校验的身份证号码。函数内部首先判断身份证号码长度是否为18位,如果不是,则直接返回False。接着定义一个权重数组weight和一个校验码数组check_code。然后使用循环计算身份证号码前17位数字的加权和,最后取余11得到校验码,并将其与身份证号码的最后一位比较。如果相同,则返回True,否则返回False。