今天给大家分享1个有趣的实战项目,用python制作“全国身份证号验证及查询系统”,成品界面如下图:

本系统可以实现身份证号真伪验证,年龄、性别及发证地查询,看起来是不是很高大上,其实做起来不是很复杂,涉及知识主要有python字符串处理、表格读写和Gui制作,适合有一定python基础的朋友练手,下面一起来看看怎么实现的吧!

第一步:身份证号解析

身份证号一般由18位号码组成,前6位为地址码,第7至14位为出生日期码,第15至17位为顺序码,第18位为校验码。6位地址码为编码对象户口所在县(市、区)的行政区划代码;8位出生日期码为出生年月日;3位顺序码为县(市、区)所辖派出所的分配码,顺序码的奇数分配给男性,偶数分配给女性;1位校验码是按统一公式计算出来的。

第二步:归类整理地址码与区县对应关系

这个网上比较常见,随便搜索1个身份证号都会返回所在的区县地址,我们要做的是把所有的对应关系都找到,恰巧网上已经有现成的了,不过要稍加整理,大家可以去网上找一下,但是要擦亮眼睛啊,有一个版本是错的,实在找不到的可以联系我,我已经整理好存入表格中

第三步:验证身份证号真伪

身份证最后一位校验码算法如下:

①将身份证号码前17位数分别乘以不同的系数,从第1位到第17位的系数分别为:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2

②将得到的17个乘积相加。

③将相加后的和除以11并得到余数。

④余数可能为0 1 2 3 4 5 6 7 8 9 10这些个数字,其对应的身份证最后一位校验码为1 0 X 9 8 7 6 5 4 3 2。

代码实现如下:

第四步:查询地区

规则参考第一步,python两行代码就搞定了

不得不说,python就是简单方便

第五步:计算出年龄及性别

规则同样参考第一步,代码如下:

到此为止,项目的主体功能已经实现,下面要想办法用GUI界面实现。

第六步:制作GUI界面

本步骤主要用PyQt5实现,下面我把核心代码贴出来:

首先是以网格方式对标签及文本框进行布局,并用setStyleSheet对文本框进行修饰

然后是设置查询按钮并布局,再与check函数(信号)绑定

接着是在check函数中将查询到的结果在文本框中显示出来

最后设置主窗口图片背景

到此为止,本项目就大功告成了,你学会了吗?

但是要声明一下,本文所介绍的查询功能均为正向查询,即在已知身份证号的前提下,解析原则来源于网络,不敢保证100%准确,更不能反向推算出个人身份证号,所以不涉及侵犯隐私问题

成长离不开与优秀的伙伴共同学习,如果你需要好的学习环境,好的学习资源,项目教程,零基础学习,这里欢迎每一位热爱Python的小伙伴,点击:Python学习圈

python身份证号真假验证_【趣味案例】用python制作全国身份证号验证及查询系统...相关推荐

  1. python成人编程学习营_趣味编程营——Python开班啦!

    原标题:趣味编程营--Python开班啦! 3月9日,由菊园新区社区创新屋为青少年量身打造的"趣味编程营-python营"开班了.这是继scratch编程课之后,菊园新区管委会为辖 ...

  2. 【趣味案例】用python制作全国身份证号验证及查询系统

    今天给大家分享1个有趣的实战项目,用python制作"全国身份证号验证及查询系统",成品界面如下图: 本系统可以实现身份证号真伪验证,年龄.性别及发证地查询,看起来是不是很高大上, ...

  3. python身份证号掩盖出生日期的代码_利用Python制作全国身份证号验证及查询系统!就问你吊不吊!...

    大家好哇,又是一个愉快的周末,今天本鸟给大家分享1个有趣的实战项目,用python制作"全国身份证号验证及查询系统",成品界面如下图: 本系统可以实现身份证号真伪验证,年龄.性别及 ...

  4. python身份证验证系统_利用Python制作全国身份证号验证及查询系统!就问你吊不吊!...

    大家好哇,又是一个愉快的周末,今天本鸟给大家分享1个有趣的实战项目,用python制作"全国身份证号验证及查询系统",成品界面如下图: 本系统可以实现身份证号真伪验证,年龄.性别及 ...

  5. 用python制作全国身份证号验证及查询系统

    ​ 大家好哇,又是一个愉快的周末,今天本鸟给大家分享1个有趣的实战项目,用python制作"全国身份证号验证及查询系统",成品界面如下图: 本系统可以实现身份证号真伪验证,年龄.性 ...

  6. 超级牛逼,用python制作全国身份证号验证及查询系统

    前言 本系统可以实现身份证号真伪验证,年龄.性别及发证地查询,看起来是不是很高大上,其实做起来不是很复杂,涉及知识主要有python字符串处理.表格读写和Gui制作,适合有一定python基础的朋友练 ...

  7. python处理excel的书籍_从Excel到Python:用Python轻松处理Excel数据

    目录 第1章 Python基础--学习Python必知必会1 1.1 什么是Python2 1.2 为什么要学习用Python处理Excel表格2 1.3 手把手教你安装Python2 1.3.1 下 ...

  8. python问题化教学设计_基于IPO的Python教学设计

    冯艳茹 陈平 摘要:程序设计基础课程是培养大学生解决计算问题的思维和能力的课程,使用Python作为大学生的首门编程语言课程,可操作性强,入门容易,上手快.该文提出了基于IPO的教学设计新思维,使教学 ...

  9. 趣学python教孩子学编程_《趣学Python——教孩子学编程》学习笔记第1-3章

    第1章 Python不是大蟒蛇 1.1 关于计算机语言 计算机程序是一组让计算机执行某种动作的指令.软件就是计算机程序的集合. 一种编程语言就是一种特定的与计算机交谈的方式,这种方式使用计算机和人都能 ...

  10. python扩展库导入方式_使用pip安装Python扩展库的方法

    本文节选自作者的<Python编程基础及应用>视频教程.Python编程基础及应用_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com 使用pip进行安装 ...

最新文章

  1. php 修改 title,WordPress通过functions.php修改meta title样式
  2. PHP如何设置页码间距,PHP如何实现对work文档操作,返回文档的总页码数量
  3. Ubuntu12.04下arm交叉编译环境的建立
  4. 共享寒冬中的常青树,2 次获得阿里投资的衣二三“欲隐藏”的数据真相 | 深度案例...
  5. UVa LA 4253 UVa 1421 Archery 枚举,状态削减,oj错误题目 难度: 1
  6. 云原生时代,企业多活容灾体系构建思路与最佳实践
  7. Android全局对象Application的使用,以及如何在任何地方得到Application全局对象
  8. 第11章 Internet 服务器应用课后习题答案
  9. (转)threadPoolExecutor 中的 shutdown() 、 shutdownNow() 、 awaitTermination() 的用法和区别
  10. 漫话:如何给女朋友解释什么是元宇宙?
  11. 实现开发板与ubuntu的共享--根文件系统NFS--Samba共享【sky原创】
  12. 《spring-boot学习》-12-@controller和@RestController的区别?
  13. 【数据库】期末考试、考研复试、工作面试总结
  14. 最耗性能的SQL语句
  15. StreamingAssets文件夹的读取异常
  16. vim设置tab宽度为4_vim编辑器VimScript插件开发系列一「定制Vim 3」
  17. SVN分支创建,合并,多分支并行
  18. 如何保证MQ消息队列的高可用
  19. 数据治理之IT系统存量信息梳理
  20. 2020 EBC徒步功课做好 好好工作心态

热门文章

  1. 将图片背景处理为透明的方法步骤
  2. 计算机接口cad图,贴片机CAD图纸
  3. Python爬虫入门教程24:下载某网站付费文档保存PDF
  4. 常用著名网络教学平台
  5. 计算机ascii码表
  6. 高频面试题解析:jmeter 面试题剖析实战
  7. 使用RMAN备份与恢复数据库(2)——参数文件的备份与恢复
  8. HTML+JavaScript实现黑客帝国代码雨
  9. Eclipse使用:Eclipse安装中文语言包
  10. Flash CS4 Professional 10.0.2简体中文版下载地址