MOD 10,11算法(GB/T 17710-1999 数据处理 校验码系统 )的 Python实现

 

 以上是算法简要说明,以下代码为Python实现,不过注意代码中的N=15,不是16。

 1 # GB/T 17710 双模校验算法
 2 # QQ 3257132998
 3 
 4 def GB_Code(str):
 5     str=str.replace(' ','')
 6 
 7     p=10
 8     for j in range(1,15):
 9         numerator=(p+int(str[j-1]))%10
10         if(numerator==0):
11             numerator=10
12         p=(numerator*2)%11
13 
14     return 11-p
15 
16 print GB_Code('110108018718049')

 

posted @ 2017-03-10 15:44  奔四少年  阅读(2155)  评论(0编辑  收藏  举报