WRITE A PYTHON FUNCTION Fall 2016 Credit Card Number Validat

WRITE A PYTHON FUNCTION

Fall 2016 Credit Card Number Validation: The Lehn check or the Mod 10 check In 1954, Hans Lehn of IBM proposed an algorithm for validating credit card numbers. The algorithm useful to determine whether a card number is entered or scanned correctly. To ensure validity: Write a function called is Valid Credit Card that reads accepts a string and returns True if the string represents a valid credit card number and False if it is invalid. Create a list of sample credit card numbers and call your function, printing the number and a message indicating if the number was valid or not. Here are some ideas about what to test:

Solution

import sys

def sumeven(cardnumber):
    sum=0
    l=[]
    for i in range(len(cardnumber)-2,-1,-2):
        d=2 * int(cardnumber[i])
        s=str(d)
        if len(s) ==2:
            s=int(s[0])+int(s[1])
            l.append(s)
        else:
            l.append(d)
      
    for i in l:
        sum=sum+i
  
    return sum
  
def sumodd(cardnumber):
    sum=0
  
    for i in range(len(cardnumber)-1,-1,-2):
        sum=sum+int(cardnumber[i])
              
    return sum

def cardname(cardnumber):
    if cardnumber[0] ==\'4\':
        return \'VISA\'
    elif cardnumber[0]==\'5\':
        return \'MASTERCARD\'
    elif cardnumber[0:2]==\'37\':
        return \'AMERICAN EXPRESS\'
    else:
        return \'DISCOVER\'

def validity(even,odd):
    sum=even+odd
    if sum%10 ==0:
        return \'VALID\'
    else:
        return \'NOT VALID\'

def getcard():
    cardno=input(\'Enter the credit card number \')
    if cardno[0].isalpha():
        print(\"DON\'T BEGIN WITH ALPHABET\")
        sys.exit()

    if len(cardno)<13:
        print(\'credit card number is too short\')
        sys.exit()
    elif len(cardno)> 16:
        print(\'credit card number is too length\')
        sys.exit()
    else:
        return cardno
  
if __name__==\'__main__\':

    cardno=getcard()
    even=sumeven(cardno)
    odd=sumodd(cardno)
    name=cardname(cardno)
    valid=validity(even,odd)
    print (\'sum of even number %d\' % even)
    print(\'sum of odd number %d\' % odd)
    print(\'card name is %s\' % name)
    print(\'the card is %s\' % valid)

WRITE A PYTHON FUNCTION Fall 2016 Credit Card Number Validation: The Lehn check or the Mod 10 check In 1954, Hans Lehn of IBM proposed an algorithm for validati
WRITE A PYTHON FUNCTION Fall 2016 Credit Card Number Validation: The Lehn check or the Mod 10 check In 1954, Hans Lehn of IBM proposed an algorithm for validati

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site