每一本正式出版的图书都有一个ISBN号码与之对应。自2007年开始,ISBN码包括13位数字和4位分隔符,其中符号'-'就是分隔符(键盘上的减号),13位书号的最后一位数字为稽核号,数值范围由0至9,其计算方法如下: (1) 用1分别乘书号的前12位数字中的奇数位,用3乘以偶数位;(去掉分隔符-后的位数,第一个数字是第1位,从奇数位开始。) (2)将各乘积相加,求出总和; (3)将总和除以10,得出余数; (4)将10减去余数后即为稽核号。如相减后的数值为10,稽核号则为0。 【输入形式】 一个字符串,代表一本书的ISBN号码 【输出形式】 假如输入的ISBN号码的识别码正确,那么输出“Right”;否则,按照规定的格式,输出正确的ISBN号码(包括分隔符'-')。 【样例输入】 978-7-121-28484-3 【样例输出】 978-7-121-28484-7
时间: 2024-02-22 08:56:56 浏览: 53
以下是Python实现的代码:
```python
isbn = input() # 输入ISBN号码
isbn = isbn.replace("-", "") # 去掉分隔符
check_digit = 0
for i in range(12):
if i % 2 == 0:
check_digit += int(isbn[i]) * 1
else:
check_digit += int(isbn[i]) * 3
check_digit = (10 - check_digit % 10) % 10 # 计算稽核号
if check_digit == int(isbn[-1]):
print("Right")
else:
correct_isbn = "-".join([
isbn[:3], isbn[3:4], isbn[4:7], isbn[7:12], str(check_digit)
])
print(correct_isbn)
```
输入样例:
```
978-7-121-28484-3
```
输出样例:
```
978-7-121-28484-7
```
阅读全文