Python中文
首页
教程
问答
标签
搜索
登录
注册
Python3校验位算法
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在学习如何围绕编程进行思考,并被赋予以下任务:</p> <blockquote> <p>The ISBN (International Standard Book Number) is made out of 10 digits.</p> <blockquote> <p>z<sub>1</sub>z<sub>2</sub>z<sub>3</sub>z<sub>4</sub>z<sub>5</sub>z<sub>6</sub>z<sub>7</sub>z<sub>8</sub>z<sub>9</sub>z<sub>10</sub></p> </blockquote> <p>最后一个数字z<sub>10</sub>是校验位。它是这样做的:首先,用这个公式创建一种交叉和:</p> <blockquote> <p>s = 1 * z<sub>1</sub> + 2 * z<sub>2</sub> + 3 * z<sub>3</sub> + 4 * z<sub>4</sub> + 5 * z<sub>5</sub> + 6 * z<sub>6</sub> + 7 * z<sub>7</sub> + 8 * z<sub>8</sub> + 9 * z<sub>9</sub></p> </blockquote> <p>校验位z<sub>10</sub>是s的整数除以11的余数。剩下的10则写x或x。<b>示例:</b>对于ISBN 3826604237,您得到了校验位7。在</p> <p>计算:1*3+2*8+3*2+4*6+5*6+6*0+7*4+8*2+9*3=150</p> <p>除法150和11的余数是7。在</p> </blockquote> <p>给出的代码解决方案如下:</p> <pre><code># isbn.py number = int(input("Please enter a 9-digit number: ")) z9 = number % 10 number = number//10 z8 = number % 10 number = number//10 z7 = number % 10 number = number//10 z6 = number % 10 number = number//10 z5 = number % 10 number = number//10 z4 = number % 10 number = number//10 z3 = number % 10 number = number//10 z2 = number % 10 number = number//10 z1 = number sum = z1+2*z2+3*z3+4*z4+5*z5+6*z6+7*z7+8*z8+9*z9 checkdigit = sum%11 print("\nCheckdigit:", checkdigit) </code></pre> <p>我的问题很简单:它是如何工作的?为什么我要一直计算“number//10”和“number%10”,而且总是这样?这种算法有名字吗?如果有,怎么叫?在</p> <p>如果你觉得这是最简单的事情,你觉得我在浪费你的时间,我很抱歉。到目前为止,我对python的学习了解得差不多,但是这个任务似乎有点难(这是我正在学习的书的一个很早的章节中),我被卡住了,没能忘记这一点。在</p> <p>提前谢谢你,祝你今天愉快!在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>它是从模arytmetic开始的。而模,ICBN的长度和系数正好一致,因为系数无所谓(根据模的算术性质(如果x mod y=0,比k*x mod y=0,其中k是整数))。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
尽管Python中的所有内容都是引用,为什么Python导师在没有指针的列表中绘制字符串和整数?
8 回答
尽管python中的表达式为false,但循环仍在运行
2 回答
尽管python代码正确,但从nifi ExecuteScript处理器获取语法错误
8 回答
尽管Python在Neovim中工作得很好,但插件不能识别Neovim中的Python主机
5 回答
尽管python字典包含了大量的条目,但它并没有增长
5 回答
尽管python说模块存在,为什么我会得到这个消息?
7 回答
尽管setuptools和控制盘是最新的,但无法识别singleversionexternallymanaged
5 回答
尽管stdout和stderr重定向,但未捕获错误消息
2 回答
尽管Tensorboard的事件太大,但Tensorboard的步骤太少了
1 回答
尽管tkinter上的变量已更改,但显示未更改
10 回答
尽管try/except使用Python进行单元测试时出现断言错误
1 回答
尽管URL是sam,但仍会抛出“达到最大重定向”
3 回答
尽管url有效,Pandas仍读取url的\u csv错误
7 回答
尽管while中存在时间延迟,但LINUX线程的CPU利用率为100%(1)
10 回答
尽管x0在范围内,Scipy优化仍会引发ValueError
5 回答
尽管xpath正确,但使用selenium单击链接仍不起作用
6 回答
尽管下载了ffmpeg并设置了路径变量python,但没有后端错误
8 回答
尽管下载了i,但找不到型号“fr”
10 回答
尽管下载了plotnine包,但未获取名为“plotnine”的模块时出错
7 回答
尽管为所有行指定了权重,网格(0)仍不起作用
2 回答