;D
Simples Scripr para gerar CPF Válidos, vc usa no terminal (prompt)
* Você pode escolher quantos CPF's quer gerar
Deem ai uma olhada !
# gerador de CPF
import random
import math
DEBUG = False
def debug(*string):
import sys
print >> sys.stderr, string
def gera_random():
return random.randint(0, 9)
def mod(dividendo,divisor):
x = dividendo - (math.floor(dividendo/divisor)*divisor)
return round(x)
def cpf():
# Gera os numeros randonomicos ;)
n1 = gera_random()
n2 = gera_random()
n3 = gera_random()
n4 = gera_random()
n5 = gera_random()
n6 = gera_random()
n7 = gera_random()
n8 = gera_random()
n9 = gera_random()
# Debugger purposes
DEBUG and debug(n1, n2, n3, n4, n5, n6, n7, n8, n9)
a1 = n9 * 2
a2 = n8 * 3
a3 = n7 * 4
a4 = n6 * 5
a5 = n5 * 6
a6 = n4 * 7
a7 = n3 * 8
a8 = n2 * 9
a9 = n1 * 10
d1 = a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8 + a9
d1 = 11 - (mod(d1,11))
if d1 >= 10:
d1 = 0
# Debugger purposes
DEBUG and debug(a1, a2, a3, a4, a5, a6, a7, a8, a9, d1)
a1 = d1 * 2
a2 = n9 * 3
a3 = n8 * 4
a4 = n7 * 5
a5 = n6 * 6
a6 = n5 * 7
a7 = n4 * 8
a8 = n3 * 9
a9 = n2 * 10
a10 = n1 * 11
d2 = a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8 + a9 + a10
d2 = 11 - (mod(d2,11))
if d2 >= 10:
d2 = 0
# Debugger purposes
DEBUG and debug(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, d2)
# Resultado Final
return "%d%d%d.%d%d%d.%d%d%d-%d%d" % \
(n1, n2, n3, n4, n5, n6, n7, n8, n9, d1, d2)
if __name__ == '__main__':
message = "Bem-vindo ao Gerador de CPFs"
print '\t%s\n' % message, '\t%s\n' % ('=' * len(message))
user_response = raw_input('Ativar Debug (responda "sim" ativar)? ')
if user_response.lower().strip() == "sim":
DEBUG = True
try:
n_cpfs = input('Quantos CPFs aleatórios devem ser gerados? ')
for i in xrange(n_cpfs):
print cpf()
if DEBUG:
#
print
except ValueError, x:
print 'Valor inválido ("%s")' % xERROR
Obs: Vamo agitar essa àrea aqui pessoal
Vlw
Parabéns
Kratos... Vou dizer novamente, admiro muita seu amor pelo Python!!!
Gracias...
beleza
tem um link que da para a formula inicial ?
rog
Quote from: "rog"beleza
tem um link que da para a formula inicial ?
rog

? Vc diz a Fórmula lógica dos CPF's ??
Boa cara

Mandando bem em Python héin.. e como disse o
DarkSpawn, sua paixão pela ling. é admiravel hehehe..
[]s
a formula matematica inicial para gerar cpf
ou vc inventou tambem o algoritmo ?
rog
[rog]Quoteou vc inventou tambem o algoritmo?
Você sabe que não cara.. não é necessário essas perguntas irônicas..
Alguns links sobre algoritmo de verificação de CPF:
http://www.clubedainformatica.com.br/documentos/mostraartigo.php?artigo=62
http://www2.fundao.pro.br/articles.asp?cod=23 (http://www2.fundao.pro.br/articles.asp?cod=23)
http://www.lsd.ic.unicamp.br/projetos/e ... stas6.html (http://www.lsd.ic.unicamp.br/projetos/e-lane/introPascal/respostas6.html)Google rox..
[]s
@white_shark
obrigado pelos links
nao tinha ironia nehuma eu perguntei pelo kratos se dava para postar o link que explicava a formula usada para gerar cpf
nao sei o Kratos achou de ruim
do jeito que ele respondeu dava para desconfiar que ele criou a formula
rog