py小程序:根据身份证号提取出生日期、性别、年龄

发布时间 2023-06-25 18:02:32作者: nxhujiee

py小程序:根据身份证号提取出生日期、性别、年龄
━━━━━━━━━━━━━━━━━━━━━━

你可以使用 Python 编写一个小程序,根据输入的身份证号码提取出生日期、性别、年龄。下面是可能的实现方式。

import datetime

def get_info_from_id(id_num):
    # 从身份证中提取出生日期
    birth_year = int(id_num[6:10])
    birth_month = int(id_num[10:12])
    birth_day = int(id_num[12:14])
    birth_date = datetime.date(birth_year, birth_month, birth_day)

    # 计算年龄
    today = datetime.date.today()
    age = today.year - birth_year - ((today.month, today.day) < (birth_month, birth_day))

    # 提取性别
    gender = int(id_num[-2])
    if gender % 2 == 0:
        gender = "女"
    else:
        gender = "男"

    return birth_date, gender, age

这个程序中,我们首先从身份证号码中提取出生日期,然后计算当前年龄。计算年龄的方式是通过当前日期减去出生日期,并考虑出生月份和日期对当前月份和日期的影响。然后,我们从身份证号码中提取性别信息。性别信息位于身份证号码的倒数第二位,奇数表示男性,偶数表示女性。

可以将上面的程序集成到一个交互式的 Pyhton 小程序中,在命令行或终端中显示输出结果,如下所示:

id_num = input("请输入身份证号码:")
birth_date, gender, age = get_info_from_id(id_num)
print("出生日期:", birth_date)
print("性别:", gender)
print("年龄:", age)