当前位置:首页python > 正文

Python实现从键盘输入一个18位的身份证号,从中提取日期数据,按照“****年**月**日”的格式输出

作者:野牛程序员:2023-06-29 15:45:52python阅读 3056

运用Python3编写一段程序,实现从键盘输入一个18位的身份证号,从中提取日期数据,按照“****年**月**日”的格式输出,要求具有身份证号码的简单判断,至少前17位为数字,最后一位可能含有字母X。

输入数据为一个18位的身份证号码: 370201200001022320 输出: 2000年01月02日

使用Python编写一个程序来实现你的需求。以下是一个示例程序:

def extract_date(id_number):
    if len(id_number) != 18:
        print("身份证号码长度不正确")
        return

    if not id_number[:17].isdigit() or not id_number[-1].isdigit() and id_number[-1].upper() != 'X':
        print("身份证号码格式不正确")
        return

    year = id_number[6:10]
    month = id_number[10:12]
    day = id_number[12:14]

    print("{}年{}月{}日".format(year, month, day))


id_number = input("请输入一个18位的身份证号码:")
extract_date(id_number)

运行这段代码后,它会要求你输入一个18位的身份证号码,然后提取日期数据并按照"****年日"的格式输出。如果输入的身份证号码不满足要求,程序会给出相应的错误提示。

请注意,这段代码只做了简单的身份证号码格式判断,仅验证前17位是否为数字,最后一位是否为数字或字母"X"。它并没有进行更严格的身份证号码校验,比如校验码的计算。如果需要进行更严格的校验,你可以在代码中添加相应的逻辑。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击