def CardChecksum(CardNum):
    CardSum = 0
    NumDigits = len(CardNum)
    OddOrEven = NumDigits & 1

    for DigCount in range(0, NumDigits):
        Digit = int(CardNum[DigCount])
        if not ((DigCount & 1) ^ OddOrEven):
            Digit = Digit * 2
        if Digit > 9:
            Digit = Digit - 9
    
    CardSum = CardSum + Digit
    return ((CardSum % 10) == 0)