ifnot card_number.isdigit(): print("校验失败:信用卡号只能包含数字、空格或连字符") elifnot13 <= len(card_number) <= 19: print("校验失败:信用卡号长度应为13~19位") else: array = [] for i in card_number: array.append(int(i))
total = 0 for i inrange(len(array) - 2, -1, -1): number = array[i] if (len(array) - 2 - i) % 2 == 0: number *= 2 if number > 9: number -= 9 total += number
check_digit = (10 - total % 10) % 10
if check_digit == array[-1]: print("校验成功") else: print("校验失败")