JANコードとITFコードのチェックデジットを算出するスクリプトをPythonで書いてみた。
仕事でPythonはまず使わないが、物流に携わる者としてロジックだけは最低限押さえておく。
今回参照にさせていただいたのこちら JANコードとITFコードそれぞれのチェックデジット算出についてはこちらをご参照下さい。 JANコードは現在あらゆる商品に付与されているデファクトなコード体系。
ITFコードは物流で使用するコードでJANコードに物流用識別コード1桁を付加したもの。
JANもITFもチェックデジットの算出はモジュラス10/ウエイト3を使用する。

JANコードのチェックデジット算出

#!/usr/bin/env/python
# coding: utf-8

import sys

def checkdigit(code):
    s = str(code)[:12]
    a = 0
    b = 0

    for i in range(0, len(s), 2):
        a += int(s[i])
    #print a

    for i in range(1, len(s), 2):
        b += int(s[i])
    #print b

    d = (a + (b * 3)) % 10
    d = 10 - d 
    return d

if __name__ == '__main__':
    arg = sys.argv[1]
    cd = checkdigit(arg)
    print cd

ITFコードのチェックデジット算出

#!/usr/bin/env/python
# coding: utf-8

import sys

def checkdigit(code):
    s = str(code)[:13]
    a = 0
    b = 0

    for i in range(0, len(s), 2):
        a += int(s[i])
    #print a

    for i in range(1, len(s), 2):
        b += int(s[i])
    #print b

    d = (b + (a * 3)) % 10
    d = 10 - d 
    return d

if __name__ == '__main__':
    arg = sys.argv[1]
    cd = checkdigit(arg)
    print cd
Posted by aoshiman at 11:26 | Comments: 0
Leave a comment
Required fields are marked with *
search
calendar
Aug 2010
SunMonTueWedThuFriSat
1234567
891011121314
15161718192021
22232425262728
293031    
myprofile
  • 連絡は下記メールアドレスへ
    men.katame.nori.oome[at]gmail.com
  • ツイッターやってます
  • @aoshiman
archives
twitter widget
blogparts

あわせて読みたいブログパーツ

photos on flickr
www.flickr.com