Advertisement

【PTA】【作者: 赵冲 单位: 厦门大学】Python实现身份证校验(7-1)

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
本文由厦门大学赵冲撰写,介绍了使用Python编程语言进行身份证号码合法性验证的方法和技巧,详细讲解了身份证校验的算法原理及其实现过程。 中国居民身份证校验码的生成方法如下:先将身份证号码前17位数字分别乘以特定系数,从第一位到第十七位的系数依次为:7、9、10、5、8、4、2、1、6、3、7、9、10、5、8、4和2。接着把这组乘积相加得到总和,并用这个总和除以11,取余数。 计算得出的余数范围为0到10,对应的校验码分别为:1-0-X-9-8-7-6-5-4-3-2。具体来说,可以通过公式m=(12-n) mod 11来确定校验码m和余数n之间的关系,其中mod表示取模运算。例如,如果计算出的余数为3,则第十八位身份证号码应为9;若余数是2,则对应的校验码则是X。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • PTA】【: : Python(7-1)
    优质
    本文由厦门大学赵冲撰写,介绍了使用Python编程语言进行身份证号码合法性验证的方法和技巧,详细讲解了身份证校验的算法原理及其实现过程。 中国居民身份证校验码的生成方法如下:先将身份证号码前17位数字分别乘以特定系数,从第一位到第十七位的系数依次为:7、9、10、5、8、4、2、1、6、3、7、9、10、5、8、4和2。接着把这组乘积相加得到总和,并用这个总和除以11,取余数。 计算得出的余数范围为0到10,对应的校验码分别为:1-0-X-9-8-7-6-5-4-3-2。具体来说,可以通过公式m=(12-n) mod 11来确定校验码m和余数n之间的关系,其中mod表示取模运算。例如,如果计算出的余数为3,则第十八位身份证号码应为9;若余数是2,则对应的校验码则是X。
  • C语言PTA
    优质
    本项目使用C语言编写,在PTA平台上实现了对身份证号码的有效性检验,包括结构分析和校验码验证。 7-5 查验身份证 一个合法的中国居民身份证号码由17位地区、日期编号和顺序编号加上一位校验码组成。该校验码通过以下步骤计算得出:首先,对前17位数字分别乘以特定权重({7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2})进行加权求和;然后,将计算得到的总和对11取模得出值Z。根据Z与校验码M之间的映射关系(如下表所示),可以确定最后一位数字是否正确。 | Z | M | |---|---| | 0 | 1 | | 1 | 0 | | 2 | X | | 3 | 9 | | 4 | 8 | | 5 | 7 | | 6 | 6 | | 7 | 5 | | 8 | 4 | | 9 | 3 | |10 | 2 | 现在,你需要验证给定的一些身份证号码的校验码是否有效,并输出有问题的号码。请注意,在此过程中不需要检验前17位的有效性(即它们是否符合实际地理和时间规则),只需要确保这17位全为数字且最后一位与上述计算方法相符即可。 输入格式:首先给出一个整数N(≤100)表示接下来要验证的身份证号码的数量。随后,按顺序列出每个长度为18个字符的身份证号。 输出格式:按照输入顺序逐一检查并打印所有不符合校验规则的身份证号。如果所有的身份证号都符合要求,则直接输出All passed。 示例: **样例输入 1** ``` 4 320124198808240056 612010X198901011234 108196711301866 37070419881216001X ``` **样例输出 1** ``` 612010X198901011234 37070419881216001X ``` --- **样例输入 2** ``` 2 320124198808240056 612010819671130186 ``` **样例输出 2** ``` All passed ```
  • SQL18码分享及计算
    优质
    本文章详细讲解了如何使用SQL语言编写脚本来验证和计算中国公民身份证号码(18位)中的校验码,并提供了实用的代码示例。 身份证校验码的计算方法如下: 1. 将前面的身份证号码前17位数分别乘以不同的系数。第i位对应的数为[2^(18-i)]mod11,从第一位到第十七位的系数分别为:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2。 2. 将这17位数字和对应的系数相乘的结果进行加总。 3. 计算出的总和除以11,得到余数。 4. 根据余数值(可能为0到10)来确定最后一位身份证号码。具体对应关系如下: - 余数为0时,校验码是1 - 余数为1时,校验码是0 - 余数为2时,校验码是X - 其他情况下分别为9到3。 示例代码片段如下: ```sql with t as(select 34052419800101001X id from dual) select... ``` 注意:上述SQL语句未完成,仅展示数据准备部分。
  • 18规则详解
    优质
    本文深入解析了18位身份证号码中校验位的生成原理和验证方法,帮助读者理解身份证号码结构及其有效性检验。 18位身份证号码的校验位规则如下:
  • JS号全面(逐
    优质
    本工具提供对身份证号码进行全面、细致的验证功能,能够逐一核实事件号中的每一位数字的有效性和准确性。 这款JavaScript工具能够实现身份证号码的全面验证,包括每一位数字的准确性。它涵盖了全国所有地区的区域码,并且会对年月日和校验位进行详细的检查。
  • 工具.exe
    优质
    身份证号校验工具.exe是一款专为验证中华人民共和国居民身份证号码准确性和有效性的实用软件,帮助用户快速便捷地完成身份信息核对工作。 可以校验15位和18位的身份证号码。如果输入的是有误的18位身份证号码,则系统会自动将其更正为正确的号码。
  • Python信息例代码
    优质
    本实例代码提供了一个使用Python进行身份证号码有效性验证的方法,包括长度校验、格式检查以及计算校验码等步骤。 本段落主要介绍了使用Python验证身份证信息的方法,并通过示例代码进行了详细的讲解。这些内容对于学习或工作中需要进行身份验证的读者具有一定的参考价值。希望有兴趣的朋友可以跟着文章一起学习和实践。
  • Java号码的工具类——长期使用,值得信赖。支持15
    优质
    本工具类用于验证身份证号的有效性,包括18位及15位身份证号,并提供详细的身份信息解析功能。多年实践证明其稳定可靠,是开发者处理身份证相关业务的理想选择。 Java校验身份证号码工具类已运行多年且非常可靠。该工具类包含对15位身份证的校验功能。
  • Excel中的号码
    优质
    本教程详细介绍在Excel中如何利用公式和函数对身份证号码进行有效性检验,确保数据准确无误。 使用Excel公式对身份证号码的数值进行校验,判断指定的身份证号是否正确。
  • 码查询工具
    优质
    身份证校验码查询工具是一款便捷的应用程序或网站服务,专门用于快速准确地验证中国居民身份证号码的有效性和正确性。用户只需输入完整的18位身份证号,即可立即获得关于该身份信息是否真实有效的反馈,包括计算并展示最后一位校验码的准确性,帮助防止因错误填写或伪造身份证而导致的问题和风险。 bat文件可以方便地查询身份证校验位。输入身份证前17位后回车,即可自动生成校验位数。