Windowsソフト、iPhoneアプリ、ゲーム音楽素材の「Meteoric Stream」 -> 資料室 -> Python -> Pythonで、UPCコードのチェックデジットを計算する方法

Pythonで、UPCコードのチェックデジットを計算する方法


別にPythonでなくても良いですが、UPCコード(12桁のUPC-A)の、チェックデジットを計算する処理を書いてみました。

ちなみに、UPCコード(正しくはUPC-A)は、全部で12桁から成り、以下の内容で構成されます。

1桁目 : ナンバーシステムキャラクタ(商品の種別)
2桁〜6桁目 : メーカーコード(5桁)
7桁〜11桁目 : 商品コード(5桁)
12桁目 : チェックデジット

最後の桁のチェックデジットは、偶数桁を全部足して3で掛けたものに、奇数桁を全部足して、なおかつそれを、10で割った余りから10を引いた自然数です(なんのこっちゃw)

まあ、コードにすると分かりやすいと思います。

def upc_check_digit(number):
    return str(10 - ((
    int(number[0]) +
    int(number[2]) +
    int(number[4]) +
    int(number[6]) +
    int(number[8]) +
    int(number[10])
    ) * 3 + (
    int(number[1]) +
    int(number[3]) +
    int(number[5]) +
    int(number[7]) +
    int(number[9]))) % 10)

print(upc_check_digit("12345678901"))


実行結果: 2 (str型)

・・・そのまんまやん!!って感じのコードですなw

この記事の最終更新日:2017/11/15
最初に記事を書いた日:2017/11/09

この記事をシェアする

このエントリーをはてなブックマークに追加

関連記事

Meteoric Streamについて

管理人

Windowsソフト、iPhoneアプリ、ゲーム音楽素材の「Meteoric Stream」 -> 資料室 -> Python -> Pythonで、UPCコードのチェックデジットを計算する方法