2

我正在使用这个示例 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!")
4

0 回答 0