File tree 1 file changed +39
-0
lines changed
1 file changed +39
-0
lines changed Original file line number Diff line number Diff line change
1
+ """
2
+ The Luhn Algorithm is widely used for error-checking in various applications, such as verifying credit card numbers.
3
+
4
+ By building this project, you'll gain experience working with numerical computations and string manipulation.
5
+
6
+ """
7
+
8
+
9
+ def verify_card_number (card_number ):
10
+ sum_of_odd_digits = 0
11
+ card_number_reversed = card_number [::- 1 ]
12
+ odd_digits = card_number_reversed [::2 ]
13
+
14
+ for digit in odd_digits :
15
+ sum_of_odd_digits += int (digit )
16
+
17
+ sum_of_even_digits = 0
18
+ even_digits = card_number_reversed [1 ::2 ]
19
+ for digit in even_digits :
20
+ number = int (digit ) * 2
21
+ if number >= 10 :
22
+ number = (number // 10 ) + (number % 10 )
23
+ sum_of_even_digits += number
24
+ total = sum_of_odd_digits + sum_of_even_digits
25
+ return total % 10 == 0
26
+
27
+
28
+ def main ():
29
+ card_number = "4111-1111-4555-1142"
30
+ card_translation = str .maketrans ({"-" : "" , " " : "" })
31
+ translated_card_number = card_number .translate (card_translation )
32
+
33
+ if verify_card_number (translated_card_number ):
34
+ print ("VALID!" )
35
+ else :
36
+ print ("INVALID!" )
37
+
38
+
39
+ main ()
You can’t perform that action at this time.
0 commit comments