File tree Expand file tree Collapse file tree 1 file changed +39
-0
lines changed
Expand file tree Collapse file tree 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