python根据提示输入身份证号码然后输出出生年月和性别
时间: 2024-09-30 15:08:23 浏览: 48
在Python中,你可以使用正则表达式库`re`来解析身份证号码,并通过特定规则来提取出生日期和性别信息。身份证号码通常包含18位数字,前6位代表地区码,接下来8位代表出生日期(月份+日子),倒数第1位是奇数表示男性,偶数表示女性。以下是一个简单的例子:
```python
import re
def get_id_info(id_number):
# 定义正则表达式模式
pattern = r"(\d{6})(\d{4})(\d{2})([01][0-9]|1[012])([0-3][0-9]|0?[1-9]|[12]\d)(\d{3})"
match = re.match(pattern, id_number)
if match:
area_code = match.group(1)
birth_date = f"{match.group(2)}-{match.group(3)}-{match.group(4)}"
gender = "男" if int(match.group(6)) % 2 else "女"
return {"出生年月": birth_date, "性别": gender}
else:
raise ValueError("无效的身份证号码")
# 示例使用
id_number = input("请输入身份证号码: ")
try:
info = get_id_info(id_number)
print(f"出生年月: {info['出生年月']}, 性别: {info['性别']}")
except ValueError as e:
print(e)
阅读全文