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