用python编写 18 位身份证号码第7~10位为出生年份(4位数), 第11~12位为出生月份, 第13~14位代表出生目期,第17位代表性别,奇数为男, 偶数为女。用户输入一个合法的身份证号,请输出用户的出生年月日和性别。
时间: 2024-10-22 08:28:27 浏览: 126
在Python中,你可以通过字符串切片和条件判断来解析和获取身份证号码的信息。以下是一个简单的函数实现:
```python
def parse_id(id_number):
# 验证身份证号码长度
if len(id_number) != 18 or not id_number.isdigit():
return "输入的不是有效的18位身份证号码"
# 提取出生年月日和性别信息
birth_year = id_number[6:10] # 年份
birth_month = id_number[10:12] # 月份
birth_day = id_number[12:14] # 日
gender = '男' if id_number[16] % 2 else '女' # 性别
# 输出信息
return f"出生日期:{birth_year}-{birth_month}-{birth_day}, 性别:{gender}"
# 用户输入身份证号
id_input = input("请输入一个18位的身份证号码:")
output = parse_id(id_input)
print(output)
```
这个函数首先检查输入的身份证号码是否为18位数字。然后,它分别从指定位置提取出年份、月份、日子以及第17位的性别标志。最后,根据性别标志的奇偶性确定性别,并返回完整的出生日期和性别信息。
阅读全文