Python入门实战:手把手教你写“身份证信息核验”

这个程序我们使用Python的基础语法来做身份证的核验。

文章的后面附带程序的Python源代码,以及详细的视频讲解。

这个程序我们分两部分来做,这个文章我们就讲第1部分,也就是除了最后一位的核验,其他的类似位数以及日期的核验。

程序的要求:

  • 核验身份证号码的总位数;
  • 判断身份证出生年份是否正确?
  • 判断身份证出生月份是否正确?
  • 判断身份证出生日期是否正确?

二 使用的Python知识点:

  • 数据的输入输出。
  • 字符串的字数统计、索引与切片,以及数据类型的转换。
  • 条件语句、循环语句。
  • 函数的定义和返回值。

三 程序的Python源代码:

def getday(year,month):
    list1 = [31,28,31,30,31,30,31,31,30,31,30,31]
    if month==2:
        if year%4==0 and year%100!=0 or year%400==0:
            return 29
    return list1[month-1]

def main():
    # 输入身份证号码
    s = input("请输入身份证号码:")

    # 核验是否是18位
    n = len(s) 
    if n!=18:
        print("身份证号码位数不正确!")
        return
    
    # 判断出生日期是否正确!
    year = int(s[6:10])
    month = int(s[10:12])
    day = int(s[12:14])

    if year>2026 or year<1900:
        print("年份不正确!")
        return 
    elif month<1 or month>12:
        print("月份输入不正确!")
        return 
    elif day<1 or day>getday(year,month):
        print("日期输入不正确!")
        return 
    print("身份证号码正确!")

while True:
    main()
Python

四 程序视频讲解:

这是我写程序的时候顺便录的。如果文字版不太好理解,可以看这个。

点击图片,在B站查看视频。地址是:https://www.bilibili.com/video/BV1y1wjzCETZ

【Python基础练习:身份证号码核验 1验证日期】

一条评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注