编程并上传程序文件:P2-5.PY。 输入18位身份证号码,提取出其中的出生年月日,按要求输出。 【提示】 (1)利用对字符串的切片获得出生年月日; (2)利用字符串的“+”将切片后的字串以出生年月日的方式显示。
时间: 2024-10-01 08:07:46 浏览: 34
在Python中,你可以通过编写一个名为`P2-5.py`的程序来实现这个功能。首先,你需要导入必要的模块,如`re`用于处理正则表达式,因为身份证号码通常包含特定的模式。然后,定义一个函数来解析输入的18位身份证号码。以下是代码示例:
```python
def extract_birthday(id_number):
# 正则表达式匹配中国的18位身份证号码格式
pattern = r'^(\d{6})(\d{4})(\d{2})([0-9Xx]{1})$'
match = re.match(pattern, id_number)
if match:
birth_year = match.group(1) + match.group(2)
birth_month = match.group(3)
birth_day = match.group(4).replace('X', '0') # 将X替换为0,如果是字母X
# 格式化并返回出生日期
return birth_year + '-' + birth_month + '-' + birth_day
else:
return "Invalid ID number"
# 接收用户输入
id_input = input("请输入18位的身份证号码:")
result = extract_birthday(id_input)
# 输出结果
print(result)
```
在这个程序中,我们首先通过正则表达式找到出生年、月、日的部分,并拼接成"YYYY-MM-DD"的格式。如果输入的不是有效的18位身份证号码,则会返回错误信息。
阅读全文