zoukankan      html  css  js  c++  java
  • 13位商品条形码最后一位校验码计算

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    def CheckCode(barcode):
        """
        :param barcode: 商品条码的前十二位
        :return: 商品条码的最后一位校验码
        step1:位置序号不包括校验码在内,由右至左顺序排号
        step2:从位置序号1开始,所有奇数位的数字求和
        step3:将step2的和乘以3
        step4:从位置序号2开始,所有偶数位的数字求和
        step5:将step3和step4的结果相加
        step6:用大于或等于step5所得结果且为10最小整数倍的数减去step5所得结果,其差即为最后一位校验码的值
        """
        if len(barcode) != 12:
            print("Error,请输入商品条码的前12位")
        s1 = 3 * (int(barcode[11])+int(barcode[9])+int(barcode[7])+int(barcode[5])+int(barcode[3])+int(barcode[1]))
        print(s1)
        s2 = int(barcode[10])+int(barcode[8])+int(barcode[6])+int(barcode[4])+int(barcode[2])+int(barcode[0])
        print(s2)
        sum = s1+s2
        if (sum % 10) == 0:
            result = sum
            print(result)
        else:
            result = ((int(sum/10))+1)*10
            print(result)
        print(result-sum)
        return result-sum
    
    
    if __name__ == '__main__':
        """
        商品条形码由13位数字组成,697352417001X,最后一位校验码X的计算算法
        """
        CheckCode("697352417001")
    
  • 相关阅读:
    继承ServletContextListener可以完成的事情
    redis-win7
    jquery-attr与prop
    web表单disable问题
    html-select
    wordpress安装五步法
    CSS布局整理
    photoshop制作古风画
    CSS布局——三栏布局
    sublime text3配置插件
  • 原文地址:https://www.cnblogs.com/jasmine0112/p/13536718.html
Copyright © 2011-2022 走看看