输入身份证号输出今年年龄
时间: 2024-09-21 08:04:39 浏览: 52
要根据身份证号码计算个人的出生年份并推算今年的年龄,首先需要知道中国的身份证号码结构。中国身份证号码由18位数字组成,分为三段:第7到14位代表出生日期(包括公元纪年),第15位是奇数表示男性,偶数表示女性,最后四位是校验码。
以下是一个简单的Python代码示例,假设我们没有使用库来进行复杂的校验,只进行基本的计算:
```python
def calculate_age(id_number):
# 假设id_number = '123456789012345678'
# 截取出生日期部分,去掉'第几位'
birth_date_str = id_number[6:14]
# 将字符串转为日期
try:
birth_date = datetime.strptime(birth_date_str, '%Y%m%d')
except ValueError:
return "Invalid ID number or date format"
# 获取当前年份
current_year = datetime.now().year
# 计算年龄
age = current_year - birth_date.year
if birth_date.month < datetime.now().month or (birth_date.month == datetime.now().month and birth_date.day < datetime.now().day):
age -= 1
return age
# 使用示例
id_number = input("Please enter your ID number: ")
age = calculate_age(id_number)
print(f"Your estimated age is: {age} years old.")
```
这个代码片段从身份证号提取出生日期,然后根据当前年份计算年龄。请注意,此代码仅作演示用途,实际应用中你需要处理各种异常情况,比如无效的身份证号码、不正确的日期格式等。
阅读全文