Я написал функцию, которая проверяет достоверность идентификатора. Существует алгоритм, который выполняет несколько вычислений - сначала убедитесь, что длина идентификатора равна 9, а затем другие вычисления, результат должен быть разделен на 10, а затем вывод будет True или False list6 включает в себя список if list6 = [21544622,301038725], вызывающий функцию вручную, приведет к правильному результату True или False, однако в l oop что-то go неправильно и получит тот же результат
l=[]
ls=[]
count=0
num=[1,2,1,2,1,2,1,2,1]
d=[]
list3=[]
def check_id(s):
b=0
z=0
s=str(s)
if len(s)<6:
print("wrong id")
elif len(s)==6:
s='000'+s
elif len(s)==7:
s='00'+s
elif len(s)==8:
s='0'+s
else:
pass
for digit in s:
l.append(int(digit))
b=list(zip(l,num))
for k,v in b:
d.append(k*v)
for n in d:
n=str(n)
if len(n)==2:
n=int(n[0])+int(n[1])
else:
n=int(n)
list3.append(n)
z=sum(list3)
return z%10==0
for x in list6:
check=0
check=check_id(s=x)
print(check)