首页 > 编程知识 正文

ISBN 10位编号转换成13位的python算法,python转换成列表的方法

时间:2023-05-04 22:16:21 阅读:247548 作者:1224

13位ISBN的校验位计算方法

(模数10 余数 0-9 差数 1-10 校验位:0-9)

13位ISBN校验位改变了10位ISBN的计算方法,采用奇数偶数位算法,模数也改为10,所以新的ISBN中将不出现X校验码。
13位ISBN的最后一位数字为校验位,数值范围由0至9,其计算方法如下 :

(1) 用1分别乘书号的前12位中的奇数位, 用3乘以偶数位:(位数从左到右为13位到2位)
(2) 将各乘积相加,求出总和 ;
(3) 将总和除以10,得出余数;
(4) 将10减去余数后即为校验位。如相减后的数值为10,校验位则为0。

''' /// ISBN-10位转换成ISBN-13位方法 /// </summary> /// <param name="Isbn10">ISBN-10编号</param> /// <returns>ISBN-13编号</returns>''' def GetIsbn13(Isbn10): if Isbn10.Length == 10: Location13 = "9"; Location12 = "7"; Location11 = "8"; Location10 = Isbn10.Substring(0,1); Location09 = Isbn10.Substring(1, 1); Location08 = Isbn10.Substring(2, 1); Location07 = Isbn10.Substring(3, 1); Location06 = Isbn10.Substring(4, 1); Location05 = Isbn10.Substring(5, 1); Location04 = Isbn10.Substring(6, 1); Location03 = Isbn10.Substring(7, 1); Location02 = Isbn10.Substring(8, 1); IsbnSUM =int(Location13) + int(Location11) + int(Location09) + int(Location07) + int(Location05) + int(Location03) + (int(Location12) + int(Location10) + int(Location08) + int(Location06) + int(Location04) + int(Location02)) * 3; Location01 =str((10 - IsbnSUM % 10)%10); Isbn13 = Location13 + Location12 + Location11 + Location10 + Location09 + Location08 + Location07 + Location06 + Location05 + Location04 + Location03 + Location02 + Location01; return Isbn13; else: return null;
筑牢钢企数字底座历史中提交的图片或压缩文件

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。