2023-12-05 10:34:47 -03:00
|
|
|
def rut_valido(rut):
|
|
|
|
rut = rut.replace(".", "").replace("-", "") # Eliminar puntos y guiones
|
|
|
|
if len(rut) < 2:
|
|
|
|
return False
|
2024-01-12 20:11:07 -03:00
|
|
|
verificador = rut[-1].upper()
|
2023-12-05 10:34:47 -03:00
|
|
|
numero = rut[:-1]
|
|
|
|
try:
|
|
|
|
suma = 0
|
|
|
|
contador = 0
|
|
|
|
for i in range(len(numero) - 1, -1, -1):
|
|
|
|
suma += int(numero[i]) * (2 + contador)
|
|
|
|
contador = (contador + 1) % 6
|
|
|
|
digito_verificador = 11 - suma % 11
|
|
|
|
if digito_verificador == 11:
|
|
|
|
digito_verificador = 0
|
|
|
|
if digito_verificador == 10:
|
2024-01-12 20:11:07 -03:00
|
|
|
digito_verificador = "K"
|
|
|
|
return str(digito_verificador) == verificador
|
2023-12-05 10:34:47 -03:00
|
|
|
except ValueError:
|
|
|
|
return False
|