Итак, я пытаюсь преобразовать этот «валидатор» из Pseudocode в Python, но я не слишком уверен, что мои значения помещаются в список. После ввода первого значения появляется сообщение об ошибке: 'int' object is not callable
. Но тогда, если я избавлюсь от isbn = mylist()
, он говорит, что name 'isbn' is not defined
. Может кто-то указать мне, где моя ошибка?Проверка правильности номера книги ISBN Python
Я уверен, что не правильно настроил свой список.
Вот ПСЕВДОКОД я следующее:
И мой код:
def checkDigit():
calculateDigit = 0
count = 1
calculateDigit = 10 - calculateDigit
for count in range (1,14):
mylist = int(input("Please enter the next digit of the ISBN: "))
# isbn = mylist()
while (count <= 13):
calculateDigit = calculateDigit + isbn[count]
count = count + 1
calculateDigit = calculateDigit + (isbn[count] * 3)
count = count + 1
while (calculateDigit >= 10):
calculateDigit = calculateDigit - 10
if (calculateDigit == 10):
calculateDigit = 0
if (calculateDigit == isbn[13]):
print ("Valid ISBN")
else:
print ("Invalid ISBN")
checkDigit()
'mylist' фактически представляет собой целое число, которое меняет каждую итерацию. Если вы хотите, чтобы 'mylist' содержал список всех номеров ISBN, определите' mylist' вне цикла for и добавьте его внутри цикла foor. Кроме того, я считаю, что 'input()' автоматически преобразуется в 'int', хотя я не уверен в этом. –