-
Notifications
You must be signed in to change notification settings - Fork 1
/
genear_cedulas.py
32 lines (25 loc) · 1.1 KB
/
genear_cedulas.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import random
random.seed()
# Función para generar un número aleatorio de verificación válido
def generar_verificador(cedula_sin_verificador):
suma_impar = 0
for i in range(0, 9, 2):
multiplicacion = int(cedula_sin_verificador[i]) * 2
suma_impar += multiplicacion if multiplicacion <= 9 else multiplicacion - 9
suma_par = sum(map(int, cedula_sin_verificador[1::2]))
resultado = 10 - ((suma_impar + suma_par) % 10)
return resultado if resultado < 10 else 0
# Pedir cantidad de cédulas a generar
cantidad = int(input("¿Cuántas cédulas desea generar? "))
# Generar cédulas válidas
for i in range(cantidad):
# Generar provincia, tercer dígito y secuencial
provincia = str(random.randint(1, 24)).zfill(2)
tercer_digito = str(random.randint(0, 5))
secuencial = str(random.randint(1, 999999)).zfill(6)
cedula_sin_verificador = provincia + tercer_digito + secuencial
# Generar verificador
verificador = generar_verificador(cedula_sin_verificador)
# Mostrar cédula generada
cedula = cedula_sin_verificador + str(verificador)
print(cedula)