verifica tarjetas de credito American Express, VISA, MasterCard y Discover Pytho

Iniciado por Bigbounty, Octubre 08, 2024, 01:18:21 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

verifica tarjetas de credito American Express, VISA, MasterCard y Discover de 16 caracteres.

Citar#### Código que verifica tarjetas de credito American Express, VISA, MasterCard y Discover de 16 caracteres y obtiene el código cvv2.###

def identificartarjeta():

    numerotarjeta = "3331064365209333"
    sacardoscaracteres = numerotarjeta[:2]
    if len(numerotarjeta) == 15 or len(numerotarjeta) == 16 and (sacardoscaracteres == "37" or sacardoscaracteres == "34"):
        print("la tarjeta es American Express")
    sacardoscaracteres = numerotarjeta[:1]
    if sacardoscaracteres == "4" and len(numerotarjeta) == 16:
        print("la tarjeta es VISA")
    sacardoscaracteres = numerotarjeta[:2]
    if len(numerotarjeta) == 16 and (sacardoscaracteres >= "51" and sacardoscaracteres <= "55"):
        print("la tarjeta es MASTERCARD")
    if len(numerotarjeta) == 16 and (sacardoscaracteres >= "2221" and sacardoscaracteres <= "2720"):
        print("la tarjeta es MASTERCARD")
    sacardoscaracteres = numerotarjeta[:4]
    if len(numerotarjeta) == 16 and sacardoscaracteres == "6011":
        print("la tarjeta es DISCOVER")
    sacardoscaracteres = numerotarjeta[:6]
    if len(numerotarjeta) == 16 and (sacardoscaracteres >= "622126" and sacardoscaracteres <= "622925"):
        print("la tarjeta es DISCOVER")
    sacardoscaracteres = numerotarjeta[:6]
    if len(numerotarjeta) == 16 and sacardoscaracteres == "65":
        print("la tarjeta es DISCOVER")


def algoritmoluhn():
    numerotarjeta = "3331064365209333"
    invertido = numerotarjeta[::-1]
    i = 1
    contador = 0
    duplicar = 0
    lista_invertida = list(invertido)
    sumar = 0
    while True:
        if contador == 8:
            for i in range(16):
                sumar = int(lista_invertida) + sumar
            if sumar % 10 == 0:
                print("LA TARJETA ES VALIDA")
            else:
                print("LA TARJETA NO ES VALIDA")
            exit()
        duplicar = int((int(invertido) * 2))
        if duplicar > 9:
            duplicar -= 9
        lista_invertida = duplicar
        i = i + 2
        contador += 1


identificartarjeta()
algoritmoluhn()