python拼凑身份证号码
时间: 2023-11-20 13:59:01 浏览: 42
以下是一个Python拼凑身份证号码的例子:
```python
# 定义身份证号码前17位
id_num = '11010119900307001'
# 计算身份证号码的最后一位校验码
def get_check_code(id_num):
# 系数列表
factor = [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']
# 计算加权和
total = sum([int(id_num[i]) * factor[i] for i in range(17)])
# 取模得到校验码的索引
index = total % 11
# 返回校验码
return check_code[index]
# 拼凑身份证号码
id_card = id_num + get_check_code(id_num)
print(id_card) # 输出:110101199003070017
```
相关问题
python校验身份证号码
可以使用第三方库 `id-validator` 来校验身份证号码。首先需要安装该库,可以使用以下命令进行安装:
```
pip install id-validator
```
然后可以使用以下代码进行身份证号码的校验:
```python
from id_validator import validator
id_number = '110101199003074518'
is_valid = validator.is_valid(id_number)
print(is_valid)
```
输出结果为 `True` 表示身份证号码校验通过,输出结果为 `False` 表示身份证号码校验不通过。
python输入身份证号码判断性别
您可以使用身份证号码的第17位数字,如果是奇数则为男性,偶数则为女性。以下是python代码示例:
id_number = input("请输入身份证号码:")
if int(id_number[16])%2 == 0:
print("性别为女性")
else:
print("性别为男性")