ISBN-13 的校验规则

ISBN-13 的校验规则:
ISBN的最后一位是校验码不参与计算,其计算方式如下:从第一位开始,奇数位的值保持不变,而偶数位的值乘以3,将所有这些值相加再除以10,用10减去得到的余数就是最后一位的值。
由此校验ISBN是否有效

isbn_list = [9,7,8,7,1,2,2,2,3,4,4,3,8]
# 得到校验码
isbn_len = len(isbn_list)
vaild_code = isbn_list[isbn_len-1]
multi_weight = 3
divi_weight = 10
sub_weight = 10
sum = 0

# 偶数位上的值 * 3
for i in range(1, isbn_len-1, 2):
    isbn_list[i] *= multi_weight
for i in range(isbn_len-1):
    sum += isbn_list[i]
remainder = sum%divi_weight
result = sub_weight - remainder
if result == vaild_code:
    print('校验通过')
posted @ 2024-09-08 20:10  jarico  阅读(224)  评论(0)    收藏  举报