def card_number_luhn_test(number):
    """
    Use Luhn's algorithm to varify a credit card number
    """
    reverse_digit_list = [int(n) for n in str(number)][::-1]
    odd_sum = sum(n for n in reverse_digit_list[0::2])
    even_sum = sum(sum(divmod(n * 2, 10)) for n in reverse_digit_list[1::2])
    return (odd_sum + even_sum) % 10 == 0