Python中的ISBN-10 Checker

时间:2015-01-29 19:45:43

标签: python isbn

我使用此示例ISBN:0199160503

我知道现在不是很好,但是不是,我只是想让它发挥作用。

我一遍又一遍地检查计算结果,CheckDigit10在最后部分等于CheckingCheckDigit(因此过度使用了打印报表......),但它仍然是无效的ISBN。

有人可以帮忙吗?我在编码方面不是很先进,所以它可能是一个我看不到的超级简单错误。

print("You will be asked to enter an ISBN-10 Number. Please enter it digit by digit.")

ISBN10NumberList = []
ISBN10NumberAdder = 0
for count in range (10):
    if (count <= 8):
        ISBN10NumberList.append(int(input("Please enter the ISBN digit: ")))
    elif (count == 9):
        CheckDigit10 = input("Please enter the ISBN digit: ")
        print("CheckDigit: ", CheckDigit10)
        if CheckDigit10 == "X" or CheckDigit10 == "x":
            CheckDigit10 = 10
            print("CheckDigit: ", CheckDigit10)

for count in range (0, 9):
    ISBN10NumberAdder += int(ISBN10NumberList[count]) * (10 - count)
    print(ISBN10NumberAdder)

CheckingCheckDigit = ISBN10NumberAdder % 11
print("CheckingCheckDigit after mod 11:",CheckingCheckDigit)

CheckingCheckDigit = 11 - CheckingCheckDigit   
print("CheckingCheckDigit final:",CheckingCheckDigit)
print("CheckDigit: ", CheckDigit10)

if (CheckDigit10 == CheckingCheckDigit):
    print("This is a valid ISBN!")
else:
    print("This is not a valid ISBN!")

0 个答案:

没有答案