ISBN是国际标准书号的简称,10位ISBN的最后一位为校验位(由前9位计算得到),校验方法为,前9位数字从左到右分别与10到2相乘,然后求和,得到的和再对11进行整除,得到余数(即对11进行取模运算),再用11减去余数即为校验位。如果结果为10用X表示,结果为11用0表示。例如,对7111267768进行ISBN校验位的运算,前9位为711126776。710+19+18+17+26+65+74+73+6*2和为197,197%11为10,11-10为1,即上述ISBN用10位ISBN表示应该为7111267761
编写程序,输入一个10位ISBN书号,判断是否为有效ISBN号,若是,输出有效,若不是,输出无效,并输出正确校验码的ISBN号

可以先将输入的ISBN号去除中间的横杠,然后进行计算和判断校验码。具体代码如下:

pythonisbn = input().replace('-', '')  # 去除横杠
s = 0  # 计算和
for i in range(9):s += int(isbn[i]) * (10 - i)
checksum = (11 - s % 11) % 11  # 计算校验码
if checksum == int(isbn[-1]) or (checksum == 10 and isbn[-1] == 'X'):print('正确')
else:correct_isbn = isbn[:-1] + ('X' if checksum == 10 else str(checksum))print('无效')print(correct_isbn)

这里先计算前9位的数字对应的权值和,然后根据校验规则计算校验码。最后将计算得到的校验码与输入的ISBN号中的校验位进行比较,如果相同则输出“正确”,否则输出“无效”,并输出正确的ISBN号。

ISBN是国际标准书号的简称,10位ISBN的最后一位为校验位python相关推荐

  1. 国际标准书号 (International Standard Book Number, ISBN)是专门为识别图书等文献而设计的国际编号

    下面是某校2021届转专业计算机科学与工程学院笔试试题. ISBN是由13位数字组成,最后一位是校验码.如图,校验码的计算方法是:用1分别乘ISBN的前12位中的奇数位(从左边开始数起),用3分别乘以 ...

  2. 编程练习 P124 6.2 java国际标准书号ISBN是由13位数字组成,分为5段,如978-7-111-50690-4是一个合法的书号。编写程序,用户输入一个字符串书号,检查该书号是否合法。

    import java.util.Scanner;public class ISBNValidator {public static void main(String[] args) {Scanner ...

  3. html的国际标准智商测试,iq测试题国际标准30道 国际标准IQ测试多少分合格

    说到国际标准IQ测试多少分合格,想必大家都有一定了解,有人问国际标准智力测试题及答案,另外,还有人想问国际标准智商测试题,这到底是怎么回事?其实国际标准智商测试的答案全部,下面就一起来了解下iq测试题 ...

  4. 国际标准分类法ICS

    国际标准分类法(International ClassificationforStandards,简称ICS)是由国际标准化组织编制的标准文献分类法. 它主要用于国际标准.区域标准和国家标准以及相关标 ...

  5. 国际著名标准化组织及ISO/IEC/ASTM/IEEE等国际标准免费下载地址

    在知识经济时代,标准已被称作世界的通用语言.你看不懂语言没关系,但是一个标准的图形符号,你就能看明白,很快能GET到你需要的信息.在没有标准的世界,不仅人与人之间难以沟通,机器.零部件以及产品之间的联 ...

  6. 国际标准智商测试题 (转载)

    ​国际标准智商测试题 (转载) 智商,就是IQ(Intelligence Quotient的简称),通俗地可以理解为智力,是指数字.空间.逻辑.词汇.创造.记 忆等能力,它是德国心理学家施特恩在191 ...

  7. 2005国际通信展将于10月18-22日举行

    2005国际通信展将于10月18-22日举行 10月18日至22日,在主办方信息产业部.国际贸易促进委员会和承办方中国邮电器材集团公司.中国国际展览中心集团公司的共同筹划下,"2005年中国 ...

  8. Java黑皮书课后题第6章:*6.21(电话按键盘)国际标准的字母/数字匹配图如编程练习题4.15所示。编写一个测试程序,提示用户输入字符串形式的电话号码。程序将字母(大写或小写)翻译成数字

    6.21(电话按键盘) 题目 题目描述与运行示例 破题 代码 题目 题目描述与运行示例 6.21(电话按键盘)国际标准的字母/数字匹配图如编程练习题4.15所示,编写一个方法,返回给定大写字母的数字, ...

  9. 首个由国内发起的分布式消息领域的国际标准OpenMessaging一周年回顾

    近日,浩鲸科技和京东先后宣布正式加入Linux基金会旗下OpenMessaging开源标准社区,并承诺将与OpenMessaging开源标准社区共同努力营造良好的开源环境,打造厂商中立,面向 Clou ...

最新文章

  1. 网校mysql设计规范_网校数据库设计
  2. 趣学python3(9)-range
  3. 使用“override”声明的成员函数不能重写基类成员_C++日志(三十五)虚基类与其子类的构造函数...
  4. uva1624knots
  5. AspNet Core下利用 app-metrics+Grafana + InfluxDB实现高大上的性能监控界面
  6. 我知道关于马云的故事,他不成功都难
  7. spring MVC 及 AOP 原理
  8. java 中时间的比较 用compareTo方法
  9. sparse-to-dense.pytorch 代码主流程
  10. 【Power Query】使用Excel抓取淘宝天猫所有类目分类和cateId对应关系
  11. Zcash下一次NU5升级——基于Halo 2
  12. CF128A - Statues
  13. 安卓java模拟器跳过付费,不用花钱买android手机,电脑端Android模拟器安装使用教程...
  14. java 按英文名排序_输入5种水果的英文名称,用java编写一个程序,输出这些水果名称按照字典出现的先后循序输出?...
  15. Magento后台产品列表添加自定义属性
  16. smartgit官方下载地址
  17. 能被2、3、4、5、6、7、8、9等数整除的数的特征
  18. Task3 | HLM | 高收入个体更吝啬吗
  19. Echarts 交错正负轴
  20. 顺丰丰桥接口开发-java(工具类)

热门文章

  1. 金字塔的思维-结构化逻辑思维
  2. 聊一聊几种常用web图片格式:gif、jpg、png、webp?大厂必问
  3. mybatisplus乐观锁最新
  4. 区块链系统简要架构和重点知识点梳理
  5. int *p = a、p = a、*p = a的正确理解
  6. 计算机,会是下一个土木专业吗?
  7. 以我的亲身经历为例,告诉大家写简历和面试的技巧(面向高级开发和架构师)
  8. 弘辽科技:淘宝基础销量是什么?如何提升商品的基础销量?
  9. mysql数据库移机(备份)的最安全最简洁的方法
  10. 灰太狼的数据世界(三)