以上是算法简要说明,以下代码为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')