Advertisement
pedrolemoz

Gerador de CPF 2.0

Jun 22nd, 2019
500
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.11 KB | None | 0 0
  1. import random
  2. import os
  3. import time
  4. def geradorDeCPF():
  5.     def criaCPF():
  6.         cpf = []
  7.         for i in range(9):
  8.             k = random.randint(0, 9)
  9.             cpf.append(k)
  10.         return cpf
  11.     def digitoVerificador(cpf):
  12.         for i in range(2):
  13.             d = 0
  14.             if len(cpf) == 9:
  15.                 g = 10
  16.                 k = 9
  17.             elif len(cpf) == 10:
  18.                 g = 11
  19.                 k = 10
  20.             for i in range(k):
  21.                 d += g * cpf[i]
  22.                 g -= 1
  23.             d = d % 11
  24.             if d < 2:
  25.                 d = 0
  26.             else:
  27.                 d = 11 - d
  28.             cpf.append(d)
  29.     def formatarCPF(cpf):
  30.         cpf.insert(3, ".")
  31.         cpf.insert(7, ".")
  32.         cpf.insert(11, "-")
  33.         cpf.insert(14, "\n")
  34.     def exibir(cpf):
  35.         os.system("clear")
  36.         print("\nÚltimo CPF: ", end='')
  37.         for i in cpf:
  38.             print(i, end='')
  39.         print()
  40.     def gerador():
  41.         cpf = criaCPF()
  42.         digitoVerificador(cpf)
  43.         formatarCPF(cpf)
  44.         exibir(cpf)
  45.         for i in cpf:
  46.             p = str(i)
  47.             arq.write(p)
  48.     nome = "CPF"
  49.     nome = str(input("Digite um nome para o arquivo:\nPadrão: CPF.txt\n>>> "))
  50.     if ".txt" not in nome:
  51.         nome = nome + ".txt"
  52.     diretorio = "/storage/emulated/0/" + nome
  53.     diretorio = str(input(f"Onde deseja salvar?\nPadrão: {diretorio[:20]}\nDigite espaço para manter o padrão\n>>> "))
  54.     if " " in diretorio:
  55.         diretorio = "/storage/emulated/0/" + nome
  56.     quantidade = int(input("Quantos CPFs deseja gerar?\n>>> "))
  57.     arq = open(diretorio, "w")
  58.     tempo = time.time()
  59.     contador = 0
  60.     for i in range(quantidade):
  61.         os.system("clear")
  62.         gerador()
  63.         porcentagem = quantidade * (i / 100)
  64.         print("{} CPFs gerados.".format(contador + 1))
  65.         k = time.time() - tempo
  66.         print("Tempo de execução: {:.2f}".format(k), end='\r')
  67.         contador += 1
  68.     arq.close()
  69.     print(f"Salvo em: {diretorio}")
  70.     print("Tempo decorrido: {:.2f} segundos".format(k))
  71. geradorDeCPF()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement