Skip to content

Instantly share code, notes, and snippets.

@rbonvall
Created July 5, 2010 23:56
Show Gist options
  • Save rbonvall/464824 to your computer and use it in GitHub Desktop.
Save rbonvall/464824 to your computer and use it in GitHub Desktop.
Dígito verificador del RUT en Python
# 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
@nikom1912
Copy link

Gracias Amigo, me sirvió mucho. Saludos

@katacliny
Copy link

Mil Gracias !!

@jtperez2
Copy link

grande! todavía vigente

@Francisco-88
Copy link

muchas gracias

@michalexvr
Copy link

michalexvr commented Apr 25, 2023

#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'

@alvaro-diaz-valenzuela
Copy link

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