Solicitar al usuario el ingreso de un número de certificado de 8 dígitos y devolver un número de certificados de 9 dígitos, incluido el digito de chequeo. • El número de chequeo se calcula de acuerdo al siguiente procedimiento: Los ocho (8) dígitos, del número de certificado, se multiplican por los factores 10, 9, 8, 7, 6, 5, 4, 3 respectivamente. Se suman los resultados de los productos. Luego se calcula el residuo de la suma, módulo 11. Si el residuo es mayor que uno (1), entonces el dígito de chequeo es: Once (11) - Residuo. Si el residuo es igual a cero (0), entonces el dígito de chequeo es: Cero (0). Si el residuo es igual a uno (1), entonces el dígito de chequeo se calcula del residuo de la suma, módulo diez (10), y luego se toma el complemento del residuo. Pero si el residuo da cero (0) el dígito de chequeo será cero (0).
def Certificado(c1,c2,c3,c4,c5,c6,c7,c8): Certificado = [c1,c2,c3,c4,c5,c6,c7,c8] Certificado.reverse() Factor = [10,9,8,7,6,5,4,3] sum = 0 for i in range(len(Certificado)): sum += Certificado[i]*Factor[i] mod = sum % 11 if mod == 0: return Certificado+[mod] elif mod == 1: mod2 = sum % 10 return Certificado+[mod2] else: return Certificado+[11-mod]