python ean13条形码的验证

img

EAN13条形码的验证
n = input ()
3C2=0
2C1=0
4.for i in range (1,12,2):
C1=C1+ int ( n [ i ])C2=C2+ int ( n [ i ])*3
6.for i in range (0,12,2):
CC = int (( str (C1+C2))[-1]) C = str ((10- CC ))[-1]
10- if C == n [-1]11113
12- else :
描述
编写程序实现如下功能:
超市购买的商品包装上都会有一个条形二维码,一般是一种称为EAN13码的条码,一共由13个数字组成。前12位数字包含了国家代码、厂商代码和产品代码,最后一位数字是校验码,结构如下表所示

输格式
输入使用 input (),不要增加额外的提示信息。
输出格式
输出结果应为"校验已通过"或"校验未通过"的一种,除此外不要输出任何其他内容。

1.你的第7行的理解错了,题目中是“和”的乘,不是“乘”的和
2.第10行在判断时,C和n[-1]的类型不一样,一个是字符串,一个是正数,故无论输入任何数都不会校验成功

n = input()
C1 = 0
C2 = 0
for i in range(0,11,2):
    C1 += int(n[i])
for i in range(1,11,2):
    C2 += int(n[i])
C2 *= 3
CC = int(str((C1+C2))[-1])
C = int(10-CC)
if C == int(n[-1]):
    print("校验已通过")
else:
    print("校验未通过")