编写程序用来检测用户输入的一个13位数字能否通过EAN13条形码的校验(校验规则请查看文件EAN.rtf),能通过请输出:C1 C2 校验已通过;否则输出:C1 C2 校验未通过。(提示:C1为条形码前12位奇数位数据和,C2为前12 位偶数位数据和*3,C1+C2的个位=第13 位则校验通过,本题可转为字符串操作,但不能更改输入语句!)如:程序运行时输入8270784406527,则输出显示:31 66 校验已通过
时间: 2024-02-11 11:05:15 浏览: 34
好的,以下是Python的实现代码:
```python
code = input()
# 计算C1和C2
c1 = sum([int(code[i]) for i in range(0, 12, 2)])
c2 = sum([int(code[i]) for i in range(1, 12, 2)]) * 3
# 判断校验位是否正确
if (c1 + c2) % 10 == int(code[12]):
print(f"{c1} {c2 // 3} 校验已通过")
else:
print(f"{c1} {c2 // 3} 校验未通过")
```
我们首先读取用户输入的13位数字条形码,然后按照规则计算出C1和C2的值。最后,我们将C1和C2的和的个位与第13位比较,从而判断校验位是否正确,并输出相应的提示信息。
相关问题
请用编写程序用来检测用户输入的一个13位数字能否通过EAN13码的校验
好的,以下是 Python 代码示例,用于检测用户输入的 13 位数字是否符合 EAN13 码的校验:
```python
def is_valid_ean13(code):
"""
判断是否为合法的 EAN13 码
"""
if len(code) != 13 or not code.isdigit():
return False
digits = [int(d) for d in code]
check_sum = sum(digits[::2]) + sum(digits[1::2]) * 3
return check_sum % 10 == 0
# 测试
code = input("请输入一个13位数字:")
if is_valid_ean13(code):
print("该数字可以通过EAN13码的校验!")
else:
print("该数字不符合EAN13码的校验!")
```
使用方法:将以上代码复制到 Python 环境中并运行,输入一个 13 位数字进行测试。如果输入的数字符合 EAN13 码的校验规则,则输出“该数字可以通过EAN13码的校验!”;否则输出“该数字不符合EAN13码的校验!”。
为 (C1 + C2)的个位数字 则:校验位数字C为10-CC的个位数字。 请编写程序用来检测用户输入的一个13位数字能否通过EAN13码的校验,能通过请输出:校验已通过;否则输出:校验未通过。
下面是 Python 代码实现:
```python
def check_EAN13(code):
"""
检查 EAN13 码的校验位是否正确
:param code: 待检验的 EAN13 码,字符串类型
:return: 校验通过返回 True,否则返回 False
"""
if len(code) != 13:
return False
# 计算校验位
odd_sum = sum(int(code[i]) for i in range(0, 12, 2))
even_sum = sum(int(code[i]) for i in range(1, 12, 2))
check_digit = (10 - (odd_sum + even_sum * 3) % 10) % 10
return check_digit == int(code[-1])
# 示例代码
code = "6901234567893"
if check_EAN13(code):
print("校验已通过")
else:
print("校验未通过")
```
上述代码中,`check_EAN13()` 函数用来检验 EAN13 码的校验位是否正确。其中,首先判断码的长度是否为13位,然后根据 EAN13 码的计算规则计算出校验位,最后与输入的校验位进行比较,如果相同则返回 True,否则返回 False。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)