Advertisement
craudsu

Validador de CPF

Jun 7th, 2019
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.12 KB | None | 0 0
  1. class CPF(object):
  2.     numero = ""
  3.     numeroComFormatacao = ""
  4.  
  5.     def __init__(self, cpf):
  6.         self.numero = self.formatar(cpf)
  7.         self.numeroComFormatacao = cpf
  8.  
  9.     def formatar(self, cpf):
  10.         cpf = cpf.replace('-',"")
  11.         cpf = cpf.replace('.',"")
  12.         return cpf;
  13.  
  14.     def validar(self):
  15.         return True if self.validarPrimeiroNumero() & self.validarSegundoNumero() else False
  16.  
  17.     def validarPrimeiroNumero(self, i = 10, y = 0, resultado = 0):
  18.         while i >= 2:
  19.             resultado += int(self.numero[y]) * i
  20.             i -= 1
  21.             y += 1
  22.         return True if ((resultado*10) % 11) == int(self.numero[9]) else False
  23.  
  24.     def validarSegundoNumero(self, i = 11, y = 0, resultado = 0):
  25.         while i >= 2:
  26.             resultado += int(self.numero[y]) * i
  27.             i -= 1
  28.             y += 1
  29.         return True if ((resultado*10) % 11) == int(self.numero[10]) else False
  30.  
  31.  
  32. cpf = CPF("529.982.247-25")
  33.  
  34. if cpf.validar():
  35.     print("O CPF {} é válido".format(cpf.numeroComFormatacao))
  36. else:
  37.     print("O CPF {} é inválido".format(cpf.numeroComFormatacao))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement