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