【发布时间】:2017-11-26 19:13:37
【问题描述】:
我试图让它在 .txt 文件的每一行上运行。
D1 =int(lines[0])*10
D2 =int(lines[1])*9
D3 =int(lines[2])*8
D4 =int(lines[3])*7
D5 =int(lines[4])*6
D6 =int(lines[5])*5
D7 =int(lines[6])*4
D8 =int(lines[7])*3
D9 =int(lines[8])*2
D10=int(line[9])*1
Sum =(D1+D2+D3+D4+D5+D6+D7+D8+D9)
Mod = Sum % 11
D11= 11 - Mod
if D11 == 10:
D11 = 'X'
基本上,文本文件包含 ISBN-10 数字,我需要通过对文本文件中的每个数字运行此代码来验证这些数字。这是定义行的地方,因为文本文件包含“-”,我需要在开始上面显示的过程之前删除那些。
filename = input("Enter the name of the .txt file: ")
file = open(filename, "r")
lines = file.read()
if "-" in lines:
lines = lines.replace("-", "")
lines = file.readline()
while lines:
D1 =int(lines[0])*10
D2 =int(lines[1])*9
D3 =int(lines[2])*8
D4 =int(lines[3])*7
D5 =int(lines[4])*6
D6 =int(lines[5])*5
D7 =int(lines[6])*4
D8 =int(lines[7])*3
D9 =int(lines[8])*2
D10=int(lines[9])*1
Sum =(D1+D2+D3+D4+D5+D6+D7+D8+D9)
Mod = Sum % 11
D11= 11 - Mod
if D11 == 10:
D11 = 'X'
if D10 == D11:
print("Your ISBN-10's are Valid!")
else:
print("Your ISBN-10's are invalid")
【问题讨论】:
-
那么每一行都有自己的
ISBN-10号码吗?或者每一行是数字中的一个数字 - 总共11行。 -
@JoeIddon 每行都有一个完整的 ISBN-10 编号
-
lines变量中的内容。它在哪里定义?这可能与给你一个好的答案有关。 -
@martineau 我更新了帖子以包含更多代码
标签: python