Короче говоря, у меня есть список номеров ISBN, и я должен вернуть список недопустимых номеров, но у меня возникают проблемы с извлечением int из списка, например 9781523844011
, и применением этого уравнения для проверки, если ISBN действителен:
9 + 7x3 + 8 + 1x3 + 5 + 2x3 + 3 + 8x3 + 4 + 4x3 + 0 + 1x3 + 1
Я пробовал следующее:
nf=[] #nf is the list I want to return and n is the list I'am drawing the ISBN numbers from
for j in range(0, len(n)):
if len(str(n[j]))!=13:
nf.append(n[j])
else:
val = (sum(int(x) for x in n[::2]) + sum(int(x) * 3 for x in n[1::2])) #this is the equation code I came up with
if val%10!=0:
nf.append(n[j])
j+=1
Итак, я должен получить список недействительных ISBN:
[9789720046711, 9789896604011]
Но я получаю весь список номеров ISBN (n):
[9789722036757, 9789720046711, 9789720047572, 9789896604011]