请使用python编写程序,输入身份证和姓名后可以根据身份证进行性别、出生年月的提取,并输入姓 出生年月日、性别等信息。若身份证输入格式不正确则提示错误。
时间: 2024-12-11 13:25:51 浏览: 20
在Python中,我们可以使用第三方库如`pandas`来进行身份证信息的处理,因为它包含了对身份证号码识别和解析的功能。但是需要注意的是,这个操作依赖于身份证号码的规则,中国身份证号码前六位代表省份、城市、区县,接下来八位是出生日期(YYYYMMDD),最后一位是校验码。以下是一个简单的示例程序:
```python
import pandas as pd
def extract_info(id_number, name):
try:
# 使用pandas的函数检查身份证号码是否合法
id_check = pd.Series({'id': id_number})
id_data = id_check.astype('str').str.match(r'^\d{15}$') # 对于18位身份证,这里只取15位
if not id_data.any():
return "身份证号码格式不正确"
# 分割并提取相关信息
area_code = id_number[:6]
birth_date = id_number[6:14]
gender = '男' if int(id_number[-1]) % 2 == 0 else '女'
# 提取名字中的姓氏
family_name = name.split(' ')[0]
print(f"姓氏:{family_name}, 出生年月:{birth_date}, 性别:{gender}")
except Exception as e:
print(f"错误:{e}")
# 示例输入
name = input("请输入姓名:")
id_number = input("请输入身份证号码:")
extract_info(id_number, name)
```
在这个程序中,我们首先检查输入的身份证号码是否为15位数字,然后通过字符串切片获取出生日期和性别。对于姓名,我们简单地假设它是由一个或多个汉字和一个空格组成的,第一个汉字即为姓氏。
阅读全文