Created
July 5, 2010 23:56
-
-
Save rbonvall/464824 to your computer and use it in GitHub Desktop.
Dígito verificador del RUT en Python
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# encoding=utf-8 | |
# Obtener el dígito verificador del RUT en Python. | |
# | |
# La función recibe el RUT como un entero, | |
# y entrega el dígito verificador como un entero. | |
# Si el resultado es 10, el RUT es "raya k". | |
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 |
Es para el RUT de Chile o para el de Uruguay?
De Chile
Gracias Amigo, me sirvió mucho. Saludos
Mil Gracias !!
grande! todavía vigente
muchas gracias
#Incluye la K
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 if (-s) % 11 < 10 else 'K'
Todavía vigente, muchas gracias. Además el detalle de @michalexvr está muy bueno.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Muy bueno! agradecido, no es malo validarlo del lado del servidor.