blob: 88eab732350e66147d50686c3f5d801bd97288f1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
|
from itertools import cycle
def luhn(s):
factors = cycle([2, 1])
def partial(num, factor):
q, r = divmod(num * factor, 10)
return q + r
f = sum(partial(int(c), f) for c, f in zip(s, factors))
return -f % 10
|