| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 | | def calculate_luhn(number: int) -> int: |  |     """ |  |     calculate the Luhn-Checksum of a given number |  |     :param number: |  |     :return: |  |     """ |  |     checksum = 0 |  |     while number != 0: |  |         (quote, even) = divmod(number, 10) |  |         (number, odd) = divmod(quote, 10) |  |         print(f"odd = {odd} even = {even} ", end="") |  |         checksum += even |  |         odd = (odd*2) |  |         if odd > 9: |  |             odd = odd - 9 |  |         print(f"twice_odd = {odd}, ", end="") |  |         checksum += odd |  |         print(f"sum = {checksum}") |  |     print(checksum) |  |     return checksum % 10 |  |   |  | valide = [ |  |  3_78_28_22_46_31_00_05, 3_71_44_96_35_39_84_31, |  | 60_11_11_11_11_11_11_17, 5105105105105100 |  | ] |  |   |  | cs = calculate_luhn(valide[1]) |  | print(cs) | 
 |