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 数组的切片操作详解

高级特性 切片操作:对list,tuple元素进行截取操作,非常简便。 L[0:3],L[:3] 截取前3个元素。 L[1:3] 从1开始截取2个元素出来。 L[-1] 取倒数第一个元素...

详解Python3的TFTP文件传输

详解Python3的TFTP文件传输

TFTP文件传输 功能: 1、获取文件列表 2、上传文件 3、下载文件 4、退出 第一部分,TftpServer部分。 ①导入相关模块 from socket import * im...

PyTorch 随机数生成占用 CPU 过高的解决方法

PyTorch 随机数生成占用 CPU 过高的问题 今天在使用 pytorch 的过程中,发现 CPU 占用率过高。经过检查,发现是因为先在 CPU 中生成了随机数,然后再调用.to(d...

在python中实现强制关闭线程的示例

如下所示: import threading import time import inspect import ctypes def _async_raise(tid, exc...

详解Python实现按任意键继续/退出的功能

前言 要实现该功能,需要的就是暂停程序、等待并捕捉用户的一个键盘输入,然后继续执行。Python 有内建的库能帮我们实现该功能,不过要区别对待 Windows 和 Linux。 msvc...