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")
    
  • 相关阅读:
    Java Native Method
    SQL语句优化
    Ibatis的环境搭建以及遇到的问题解决
    Java 构建器
    SpringMVC自定义视图 Excel视图和PDF视图
    java 枚举的常见使用方法
    mysql 根据某些字段之和排序
    MFC The Screen Flickers When The Image Zoomed
    How To Debug Qmake Pro File
    Gcc And MakeFile Level1
  • 原文地址:https://www.cnblogs.com/jasmine0112/p/13536718.html
Copyright © 2011-2022 走看看