1、编写一个python程序,由键盘输入身份证号,从身份证号中取出出生日期并输出,初略计算年龄(当前年份减去出生年份)并输出。代码优美,如注释、表达式内的空格间隔、代码优化等,不要抄袭。
时间: 2024-10-17 16:08:40 浏览: 39
```python
# 导入datetime模块用于处理日期
import datetime
def get_age_by_id(id_number):
"""
输入身份证号码,提取出生日期并计算年龄
:param id_number: 身份证号码字符串
:return: 年龄整数
"""
# 正则表达式匹配中国的18位身份证号码格式
regex = r'^\d{6}(19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01])$'
if not re.match(regex, id_number): # 检查是否符合中国身份证格式
print("输入的身份证号码格式错误")
return
# 提取出生年月日
birth_year = int(id_number[:4])
birth_month = int(id_number[4:6])
birth_day = int(id_number[6:8])
# 当前时间
now = datetime.datetime.now()
# 计算年龄
age = now.year - birth_year
if now.month < birth_month or (now.month == birth_month and now.day < birth_day):
age -= 1 # 如果今年还没过生日,减一岁
return age
# 获取用户输入的身份证号码
id_input = input("请输入您的身份证号码:")
# 计算并打印年龄
age = get_age_by_id(id_input)
if age is not None:
print(f"您的年龄是:{age}岁")
# 相关问题:
阅读全文