Criando um gerador de CPF randômico
Nesse post você vai aprender o passo a passo de como criar uma classe geradora de CPF's aleatórios matematicamente válidos.
Em primeiro lugar você precisará importar o módulo random que é nativo do python e iniciar uma classe:
import randomclass GeradorCpf: def __init__(self): pass
Vamos precisar de 3 funções para nossa classe funcionar:
1) Função encontrando_digito(), com base nos 9 primeiros dígitos, retorna os dois últimos dígitos do CPF:
#Função para encontrar os dois ultimos digitos do CPF. def encontrando_digito(self, cut_cpf): MULT_CPF = [11, 10, 9, 8, 7, 6, 5, 4, 3, 2] if len(cut_cpf) == 9: MULT_CPF = MULT_CPF[1:10] mult = [x * y for x, y in zip(cut_cpf, MULT_CPF)] soma = sum(mult) digito = 11 - (soma % 11) if digito > 9: digito = 0 return digito
2) Função inserindo_caracteres(), para inserir os caracteres especiais do CPF:
#Função para adicionar os caracteres especiais do CPF.def inserindo_caracteres(self, cpf): return f'{cpf[0:3]}.{cpf[3:6]}.{cpf[6:9]}-{cpf[9:11]}'
3) Função geradora(), para gerar os 9 primeiros dígitos do CPF e usar as outras duas funções para retornar o CPF válido:
#Função para gerar 9 números aleatórios de 1 a 9 e gerar o CPF.def geradora(self): randomico = [random.randint(1, 9) for x in range(9)] #encontrando o primeiro digito primeiro_digito = self.encontrando_digito(randomico) randomico.append(primeiro_digito) #encontrando o segundo digito segundo_digito = self.encontrando_digito(randomico) randomico.append(segundo_digito) #transformando a lista em string. cpf = "".join(map(str, randomico)) #inserindo os caracteres especiais. cpf = self.inserindo_caracteres(cpf) return print(cpf)
Crie um objeto e chame a função geradora():
app = GeradorCpf()app.geradora()
Segue o link para acessar o código na integra: Código
Pronto.
Agora pode gerar CPF's matematicamente válidos direto do seu console, aproveite!!!
Comentários
Postar um comentário