以后可能用得到

# -*- coding:gbk -*- 
#S+=Sum(Ai*Wi);
#Ti[S%11]
import sys

class IdentityCard:
    def __init__( self ):
        self.__Wi = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
        self.__Ti = ['1', '0', 'x', '9', '8', '7', '6', '5', '4', '3', '2']

def check( self, code ):
        if (len(code) != 17):
            print "必须为17位的字符"
            return False
        return True
        
    def calculate( self, code ):
        sum = 0
        for i in range(17):
            sum += int(code[i])*self.__Wi[i]
        return self.__Ti[sum%11]
        
def test():
    ic = IdentityCard()
    code = "33000000000000000" #17位身份证
    if ic.check(code):
        print "你的校验位为:%s"%ic.calculate(code)
        
if __name__ == '__main__':
    test()

转载于:https://www.cnblogs.com/Death/archive/2011/03/24/1993565.html

python 身份证校验位计算相关推荐

  1. mysql身份证校验码_用sql实现18位身份证校验代码分享 身份证校验位计算

    身份证校验码的计算方法 1.将前面的身份证号码17位数分别乘以不同的系数.第i位对应的数为[2^(18-i)]mod11.从第一位到第十七位的系数分别为:7 9 10 5 8 4 2 1 6 3 7 ...

  2. python计算身份证校验位

    python能够直接调用现成的函数对相关数据进行运算,这就是python最便捷的原因之一.通常,每个人的身份证号是18位,前17位分别为所在地身份证编号.出生日期.等级流水号,现在要根据以上17位计算 ...

  3. Python根据身份证号计算年龄和退休时间并保存Excel文件

    封面图片:<Python程序设计基础与应用>(ISBN:9787111606178),董付国,机械工业出版社 图书详情: 用书教师可以联系董老师获取教学大纲.课件.源码.教案.考试系统等配 ...

  4. 日期和身份证年龄计算相关小工具

    /*取日期多少天后的日期*/ function getDate(date, changeDay) {var year = date.getFullYear() // 年var month = date ...

  5. EXCEL表格-根据身份证号计算性别、年龄(IF、MOD函数)

    ❤关注我,不迷路❤ 点击进入EXCEL综合应用场景专栏 本篇文章将介绍如何根据身份证号来计算出年龄.性别,先来讲解一些基础知识: 身份证号共18位,其中: (1)前1.2位数字表示:所在省份的代码: ...

  6. 【基础入门题006】求身份证校验位是否正确

    [基础入门题]2021.11.02 关于身份证校验位: 1.将前面的身份证号码前17位数分别乘以不同的系数(第1~17位的系数分别为:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 ...

  7. python 身份证号的有效性、生日(阴历阳历)、星座、生肖、性别、年龄、户籍所在地测试

    python 身份证号的有效性.生日(阴历阳历).星座.生肖.性别.年龄.户籍所在地测试 0x01 前言 0x02 身份证号码格式 0x03 地区 0x04 代码 0x05 效果 0x01 前言 本项 ...

  8. 18位身份证校验位的计算方法

    18位身份证校验位的计算方法 18位身份证标准在国家质量技术监督局于1999年7月1日实施的GB11643-1999<公民身份号码>中做了明确的规定.     GB11643-1999&l ...

  9. 判断身份证校验位是否正确

    基础知识: 第一步:将身份证号码的第1位数字与7相乘:将身份证号码的第2位数字与9相乘:将身份证号码的第3位数字与10相乘:将身份证号码的第4位数字与5相乘:将身份证号码的第5位数字与8相乘:将身份证 ...

  10. 【java养成】:案例(模拟银行新用户现金业务办理、USB接口程序设计、身份证校验位和身份提取)

    案例1:模拟银行新用户现金业务办理 实验内容: 1)   银行新用户开户 2)   欢迎用户光临和欢迎用户下次光临 3)   存钱 4)   取钱 案例代码: Bank类: package cn.Ba ...

最新文章

  1. 流程控制关键字——分支结构
  2. android与苹果平板生态,Android和Apple平板电脑的性价比比较
  3. IT人士还是要善待自己
  4. 计网 - 一台内存在 8G 左右的服务器,可以同时维护多少个连接?
  5. 聊聊 Spring Cloud Config
  6. Django框架基础知识点
  7. React-Native学习笔记
  8. Scheme N皇后
  9. Java ObjectInputStream readFloat()方法与示例
  10. python定义符号常量_python从零开始学习(二):python中的变量与常量
  11. vue - 组件的创建
  12. VBA-设置打印页面的范围
  13. 模拟 Vue 手写一个 MVVM
  14. *第八周*数据结构实践项目四【字符串加密】
  15. 高仿大漠找字FindStr
  16. HCIE 习题整理 含解释
  17. matlab 平滑曲线连接_【小微技能】:数学建模比赛中MATLAB的实用技巧
  18. C#.NET 将日期转换为大写
  19. “暴跌”微博难翻身:用户数持续大降,豪赌视频号没胜算
  20. windows远程桌面占用CPU的处理办法

热门文章

  1. 书接上文——python实现感知分类器模型分类过程动态可视化
  2. scala学习笔记四----scala基础知识学习
  3. Shell总结(整理)
  4. 我的大学专业是计算机英语作文,我的大学计划英语作文(通用5篇)
  5. mysql8.0创建用户权限,详解mysql8.0创建用户授予权限报错解决方法
  6. php返回成功信息msg_PHP进化史 — 从v5.6到v8.0(可收藏)
  7. 背包问题 装箱问题 货盘装填问题 区别
  8. latex 图片缩小指定比例
  9. C++ 迭代器 删除(erase)插入(insert)之后失效
  10. Ubuntu su root提示输入密码 怎么输入都不对