Validar um CPF manualmente pode ser trabalhoso e propenso a erros. Com um script simples em linha de comando, você automatiza o processo de verificação dos dígitos verificadores, garantindo precisão e agilidade.
O algoritmo de validação de CPF consiste em calcular dois dígitos verificadores a partir dos nove primeiros números. O script abaixo implementa essa lógica de forma direta.
def validar_cpf(cpf):
cpf = ''.join(filter(str.isdigit, cpf))
if len(cpf) != 11 or cpf == cpf[0] * 11:
return False
def calcular_digito(seq):
soma = sum(int(digito) * (len(seq) + 1 - i) for i, digito in enumerate(seq))
resto = soma % 11
return 0 if resto < 2 else 11 - resto
digito1 = calcular_digito(cpf[:9])
digito2 = calcular_digito(cpf[:9] + str(digito1))
return str(digito1) == cpf[9] and str(digito2) == cpf[10]
if __name__ == "__main__":
import sys
if len(sys.argv) != 2:
print("Uso: python validar_cpf.py ")
sys.exit(1)
cpf = sys.argv[1]
if validar_cpf(cpf):
print(f"CPF {cpf} é válido.")
else:
print(f"CPF {cpf} é inválido.")
Salve o código em um arquivo chamado validar_cpf.py e execute-o passando o CPF como argumento. O script limpa qualquer caractere não numérico e retorna o resultado da validação.
python validar_cpf.py 123.456.789-09
| CPF de Entrada | Resultado |
|---|---|
| 123.456.789-09 | CPF 123.456.789-09 é inválido. |
| 529.982.247-25 | CPF 529.982.247-25 é válido. |
| 111.444.777-35 | CPF 111.444.777-35 é inválido. |
Com este script, você transforma uma tarefa manual complexa em uma validação instantânea via linha de comando, eliminando erros humanos e aumentando a produtividade no processamento de dados.