Hello,大家好,这里是随时随地准备死磕操作的DFBoy,持续为你带来神奇小操作的DFBoy。
本篇文章我们要讲述的小操作是——测试手中书籍的ISBN识别码是否正确。
一、操作描述
朋友们最近都有在看书吗?
暑假了哟!据说是学生的弯道超车好日子!
看书的时候不要忘了还要格里休息,还有要保护好眼睛哈。
没错,我们的重点是书,每一本正式出版的图书都有一个ISBN号码与之对应。
ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符,在咱们电脑上的输入就是键盘上的减号。
最后一位是识别码。例如0---4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如代表维京出版社;第二个分隔之后的五位数字代表该书在出版社的编号;最后一位为识别码。
我们要做的就是验证这个识别码是否正确。
二、代码构思
要进行代码操作就说明识别码有一个验证的程序。
根据规则,ISBN码中最后一位识别码的计算方法如下:
首位数字乘以1加上次位数字乘以2……以此类推,用所得的结果mod11,所得的余数即为识别码,如果余数为10,则识别码为大写字母X。例如ISBN号码0---4中的识别码4是这样得到的:对0这9个数字,从左至右,分别乘以1,2,…,9,再求和,即0×1+6×2++2×9=,然后取除以11后的余数结果4作为识别码。
好了,运算规则出来了,接下来我们要做的就是确定代码编写内容了。
三、完整代码及相关讲解
第一行代码是提示使用者输入ISBN码。
第二行代码是将输入的ISBN码去掉“-”这个符号,去掉符号之后将所有的数字整合成一个数字。
第三行代码是创建赋值为为零的c。
接下来有两个编程基础结构,一个是for循环结构,用来做运算,汇总每一个数字乘以相应位数的总和。
for循环结构后的if判断结构,则是判断数据总和对11取余的结果是否和ISBN码最后一位数字相等,如果相等,则输出“识别码正确”,否则输出“识别码错误”。
四、操作小结
至此,使用Python验证ISBN码识别码的过程就讲到这里了。
大家有没有从中获取自己需要的内容呢?
这里我们使用的join、split这两个函数是字符串处理中最为常用的函数了,前者是将多个字符串聚合成一个字符串,后者是将一个字符串切割成多个字符串。
转载请注明:http://www.0431gb208.com/sjszjzl/3574.html