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
