太微 2023-04-21 09:15 采纳率: 0%
浏览 203

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条回答 默认 最新

  • RS迷途小书童 Python领域新星创作者 2023-04-21 16:30
    关注

    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("校验未通过")
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 4月21日

悬赏问题

  • ¥66 换电脑后应用程序报错
  • ¥50 array数据同步问题
  • ¥15 pic16F877a单片机的外部触发中断程序仿真失效
  • ¥15 Matlab插值拟合差分微分规划图论
  • ¥15 keil5 target not created
  • ¥15 C/C++数据与算法请教
  • ¥15 怎么找志同道合的伙伴
  • ¥20 如何让程序ab.eXe自已删除干净硬盘里的本文件自己的ab.eXe文件
  • ¥50 爬虫预算充足,跪巨佬
  • ¥15 滑块验证码拖动问题悬赏