El Código Cuenta Cliente (CCC) es el código que identifica en España las cuentas corrientes de los clientes de bancos. El CCC tiene 20 dígitos en formato AAAA-BBBB-CC-DDDDDDDDDD.
- AAAA son cuatro dígitos que identifican la entidad bancaria.
- BBBB son cuatro dígitos que identifican la oficina.
- CC se denomina dígito de control (DC).
- DDDDDDDDDD son 10 dígitos de la cuenta del cliente en el banco.
Según la wikipedia:
Los dígitos situados en las posiciones novena y décima se generan a partir de los demás dígitos del CCC, permitiendo comprobar la validez del mismo y reducir la posibilidad de errores de manipulación. El primero de ellos valida conjuntamente los códigos de entidad y de oficina; el segundo, valida el número de cuenta.
Cada uno de los dígitos del DC se calcula utilizando el mismo algoritmo, para lo que se complementa con dos ceros a la izquierda la entidad y oficina.
Una función para calcular el DC en python podría ser:
def calcula_dc(secuencia): """Calcula el dígito de control de una CCC. Recibe una lista con 10 numeros enteros y devuelve el DC correspondiente""" pesos = [1, 2, 4, 8, 5, 10, 9, 7, 3, 6] aux = [] for i in range(10): aux.append(secuencia[i]*pesos[i]) resto = 11 - sum(aux)%11 if resto == 10: return 1 elif resto == 11: return 0 else: return resto
Y un pequeño programa para validar una cuenta corriente sería:
ccc = raw_input("Introduce el CCC: ").split('-') entidadyoficina = [0, 0] for i in range(2): for j in range(4): entidadyoficina.append(int(ccc[i][j])) cuenta = [] for i in range(10): cuenta.append(int(ccc[3][i])) dc = str(calcula_dc(entidadyoficina))+str(calcula_dc(cuenta)) if dc == ccc[2]: print 'CCC verificado' else: print 'Hay un error en el CCC'