这个程序我们使用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验证日期】


一条评论