import math es_visa = False es_ae = False es_mc = False puedo_calcular = False def algoritmo(numero_tarjeta, numero_digitos): numero_tarjeta_3 = 0 n = numero_digitos pa_sumar = 0 while (n != 0): #algo que sea el primero no, el segundo si, el tercero no...intercalado numero_tarjeta_3 = numero_tarjeta%pow(10,1) #ahora le tengo que restar el digito que le saque, hago esto y dsp el numero de tarjeta que queda le hago / 10 numero_tarjeta = numero_tarjeta//10 pa_sumar = numero_tarjeta_3*2 + pa_sumar n = n-1 print(pa_sumar) numero_tarjeta = int(input('Hola, deme su tarjeta de credito\n')) numero_digitos = 0 numero_tarjeta_2 = numero_tarjeta while (numero_tarjeta_2 > 0): numero_digitos = numero_digitos + 1 numero_tarjeta_2 = numero_tarjeta_2//10 print (f'Tu tarjeta tiene {numero_digitos} digitos\n') if numero_digitos == 13: primer_digito = int(numero_tarjeta//pow(10,12)) if primer_digito == 4: es_visa = True algoritmo(numero_tarjeta, numero_digitos) else: print('ERROR') elif numero_digitos == 15: primer_digito = int(numero_tarjeta//pow(10,13)) if primer_digito == 34 or primer_digito == 37: es_ae = True algoritmo(numero_tarjeta, numero_digitos) else: print('ERROR') elif numero_digitos == 16: primer_digito = int(numero_tarjeta//pow(10,15)) dos_digitos = int(numero_tarjeta//pow(10,14)) if primer_digito == 4: es_visa = True algoritmo(numero_tarjeta, numero_digitos) elif dos_digitos > 50 and dos_digitos < 56: es_mc = True else: print('ERROR') else: print('ERROR\n')