Untitled
unknown
python
a year ago
1.9 kB
9
Indexable
import re def main(): number = get_number() number_list = [int(x) for x in str(number)] number_string = str(number) card_type = "" if validate_number(number_list): if re.search("^34|37", number_string) and len(number_string) == 15: card_type = "AMEX" print(card_type) elif re.search("^4", number_string): if len(number_string) == 13 or len(number_string) == 16: card_type = "VISA" print(card_type) else: print("INVALID") elif re.search("^51|52|53|54|55", number_string) and len(number_string) == 16: card_type = "MASTERCARD" print(card_type) else: print("INVALID") else: print("INVALID") def get_number(): while True: try: number = int(input("Number: ")) except TypeError: print("Invalid input") else: return number def validate_number(l): sum = 0 position = len(l) if position % 2 != 0: for n in range(position): if n % 2 == 0: sum += l[n] else: l[n] *= 2 if l[n] > 9: separated_digits = [int(x) for x in str(l[n])] sum += separated_digits[0] + separated_digits[1] else: sum += l[n] else: for n in range(position): if n % 2 == 0: l[n] *= 2 if l[n] > 9: separated_digits = [int(x) for x in str(l[n])] sum += separated_digits[0] + separated_digits[1] else: sum += l[n] else: sum += l[n] if sum % 10 == 0: return True else: return False main()
Editor is loading...