Advertisement
Guest User

Untitled

a guest
Mar 24th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.70 KB | None | 0 0
  1. # calcula um digito verificador.
  2. def calcula_peso(parte_verificavel :str) -> int:
  3. somatorio = 0
  4. peso = len(parte_verificavel) + 1
  5. for i in parte_verificavel:
  6. somatorio += peso * int(i)
  7. peso -= 1
  8.  
  9. resto = somatorio % 11
  10. digito_verificador = 0 if resto < 2 else 11 - resto
  11. return digito_verificador
  12.  
  13. # aceita um cpf no formato 000.000.000-00
  14. def validar_cpf(cpf :str) -> bool:
  15. cpf = cpf.replace('.','').replace('-','')
  16. dv = cpf[-2:]
  17. parte_verificavel = cpf[0:9]
  18. primeiro_dv = calcula_peso(parte_verificavel)
  19. segundo_dv = calcula_peso(parte_verificavel + str(primeiro_dv))
  20. return (int(dv[0]) == primeiro_dv and int(dv[1]) == segundo_dv)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement