如何根据身份证号码计算年龄-python

如何根据身份证号码计算年龄-python

身份证号码是一个重要的个人标识符,其中包含了关于个人的信息,包括出生日期。通过身份证号码,我们可以计算出一个人的年龄。在本文中,我们将介绍如何使用Python编程语言根据身份证号码计算年龄。

首先,我们需要导入datetime模块,以便使用日期和时间相关的函数和类。代码如下所示:

import datetime

然后,我们定义一个函数calculate_age,该函数接受一个身份证号码作为输入,并返回对应的年龄。函数的实现如下:

def calculate_age(id_number):
    # 获取当前日期
    current_date = datetime.date.today()

    # 解析身份证号码中的出生日期
    birth_year = int(id_number[6:10])
    birth_month = int(id_number[10:12])
    birth_day = int(id_number[12:14])

    # 根据出生日期计算年龄
    birth_date = datetime.date(birth_year, birth_month, birth_day)
    age = current_date.year - birth_date.year

    # 如果当前月份小于出生月份,或者当前月份等于出生月份但是当前日期小于出生日期,则年龄减一
    if current_date.month < birth_date.month or (current_date.month == birth_date.month and current_date.day < birth_date.day):
        age -= 1

    return age

在上述代码中,我们首先获取当前日期,然后从身份证号码中解析出出生日期的年、月、日。接下来,我们使用出生日期和当前日期计算出年龄。如果当前月份小于出生月份,或者当前月份等于出生月份但是当前日期小于出生日期,则年龄减一,以确保计算的年龄是准确的。

接下来,我们需要获取用户输入的身份证号码,并调用calculate_age函数计算年龄。代码如下所示:

id_number = input("请输入身份证号码:")
age = calculate_age(id_number)

最后,我们将计算得到的年龄输出到屏幕上。代码如下所示:

print("当前年龄:", age, "岁")

通过运行上述代码,我们可以根据输入的身份证号码计算出对应的年龄。

  • 完整代码
import datetime

def calculate_age(id_number):
    # 获取当前日期
    current_date = datetime.date.today()

    # 解析身份证号码中的出生日期
    birth_year = int(id_number[6:10])
    birth_month = int(id_number[10:12])
    birth_day = int(id_number[12:14])

    # 根据出生日期计算年龄
    birth_date = datetime.date(birth_year, birth_month, birth_day)
    age = current_date.year - birth_date.year

    # 如果当前月份小于出生月份,或者当前月份等于出生月份但是当前日期小于出生日期,则年龄减一
    if current_date.month < birth_date.month or (current_date.month == birth_date.month and current_date.day < birth_date.day):
        age -= 1

    return age

# 获取用户输入的身份证号码
id_number = input("请输入身份证号码:")

# 调用函数计算年龄
age = calculate_age(id_number)

# 输出年龄
print("当前年龄:", age, "岁")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客李华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值