Skip to content

Commit b4f1cb9

Browse files
TheDrunkenBearyozachar
authored andcommitted
validators inn person
1 parent d1ff35b commit b4f1cb9

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

src/validators/inn.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,20 @@ def inn(value: str):
1111

1212
try:
1313
digits = list(map(int, value))
14-
# person
14+
# company
1515
if len(digits) == 10:
1616
weight_coefs = [2, 4, 10, 3, 5, 9, 4, 6, 8, 0]
1717
control_number = sum([d * w for d, w in zip(digits, weight_coefs)]) % 11
1818
return (control_number % 10) == digits[-1] if control_number > 9 else control_number == digits[-1]
19-
# company
19+
# person
2020
elif len(digits) == 12:
2121
weight_coefs1 = [7, 2, 4, 10, 3, 5, 9, 4, 6, 6, 0, 0]
22+
control_number1 = sum([d * w for d, w in zip(digits, weight_coefs1)]) % 11
2223
weight_coefs2 = [3, 7, 2, 4, 10, 3, 5, 9, 4, 0, 0, 0]
23-
pass
24-
# error inn
24+
control_number2 = sum([d * w for d, w in zip(digits, weight_coefs2)]) % 11
25+
return ((control_number1 % 10) == digits[-2] if control_number1 > 9 else control_number1 == digits[-2] and
26+
(control_number2 % 10) == digits[-1] if control_number2 > 9 else control_number2 == digits[-1])
2527
else:
2628
return False
2729
except ValueError:
2830
return False
29-
30-
if "__main__" == __name__:
31-
print(inn('5260355389'))

0 commit comments

Comments
 (0)