Python验证企业工商注册码

yipeiwu_com7年前Python基础

中国企业工商注册码前六位为行政区代码,中间8位顺序编码,最后一位为根据ISO 7064:1983.MOD 11-2校验码计算出来的检验码,本算法根据最后一位校验码的算法来判断企业注册码是否合法,同时稍作修改也可用于判断其他校验码是否正确

 checknum.py

#coding: utf-8
def getchecknum(input): ##定义企业注册码校验码计算函数
  n = 10
  for num in range(len(input)):
    n = (int(input[num]) + n)%10
    if n == 0:
      n = 10
    n = n*2%11
  if n == 0:
    s = 1
  elif n== 1:
    s = 0
  else:
    s = 11-n
  return str(s)
 
code = raw_input(u'请输入该企业15位注册码:')
while True:
  try:
    len(code) == 15
    num = code[:14]
    check_num = int(code[14])
    if check_num == int(getchecknum(num)):
      print u'恭喜你,注册码正确。'
    else:
      print u'请注意,该注册码错误!!!'
 
    break
  except:
    print u"请输入正确的企业15位注册码"
raw_input(u'按任意键退出')

相关文章

python的常用模块之collections模块详解

认识模块  什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。 但其实import加载的模块分为四个通用类别:  &nb...

Django 2.0版本的新特性抢先看!

前言 2017年12月2日,Django官方发布了2.0版本,成为多年来的第一次大版本提升,那么2.0对广大Django使用者有哪些变化和需要注意的地方呢? 一、Python兼容性 D...

深入理解python中的atexit模块

atexit 模块介绍 python atexit 模块定义了一个 register 函数,用于在 python 解释器中注册一个退出函数,这个函数在解释器正常终止时自动执行,一般用来...

Python 批量合并多个txt文件的实例讲解

实例如下所示: # -*- coding:utf-8 -*- #os模块中包含很多操作文件和目录的函数 import os #获取目标文件夹的路径 meragefiled...

详解用python自制微信机器人,定时发送天气预报

详解用python自制微信机器人,定时发送天气预报

0 引言 前段时间找到了一个免费的天气预报API,费了好段时间把这个API解析并组装成自己想用的格式了,就想着如何实现每天发送天气信息给自己。最近无意中发现了wxpy库,用它来做再合适不...