我使用此示例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!")