Python vlidacion rut
Enviado por Jaimelo Andrés • 20 de Noviembre de 2023 • Tarea • 280 Palabras (2 Páginas) • 27 Visitas
from itertools import cycle
def digito_verificador(rut):
reversed_digits = map(int, reversed(str(rut)))
factors = cycle(range(2, 8))
s = sum(d * f for d, f in zip(reversed_digits, factors))
return (-s) % 11
def validar_rut(rut):
rut = rut.replace("-", "")
rut_numero = rut[:-1]
digito_verif = rut[-1].upper()
verif_esperado = str(digito_verificador(int(rut_numero)))
return verif_esperado == digito_verif or (verif_esperado == "K" and digito_verif == "K")
clientes = [10639521, 13074837, 12251882, 10238830, 12777063, 12467572, 12866487, 13463138, 11657132,
12487147, 12817700, 9499044, 11996940, 14558221, 12459100, 8716085, 12503185, 10586995,
11949670, 9771046, 12095272, 14632410, 15353262, 4604866, 14148957, 10808084]
usuarios = ["10639521-0", "13074837-1", "12251882-2", "10238830-3", "12777063-4", "12467572-5",
"12866487-6", "13463138-7", "11657132-8", "12487147-9", "12817700-K", "9499044-5",
"11996940-6", "14558221-7", "12459100-8", "8716085-9", "12503185-0", "10586995-1",
"11949670-2", "9771046-3", "12095272-4", "14632410-5", "15353262-K", "4604866-0",
"14148957-1", "10808084-1"]
print("RUTs de clientes validados:")
for rut in clientes:
if validar_rut(str(rut)):
print(f"El RUT {rut} es válido.")
else:
print(f"El RUT {rut} es inválido.")
print("\nValidación de RUTs de usuarios:")
for rut in usuarios:
if validar_rut(rut):
print(f"El RUT {rut} es válido.")
else:
print(f"El RUT {rut} es inválido.")
...