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()