Open NicolasCGularte opened 1 year ago
import datetime
def cpf_valido(cpf): cpf = cpf.replace('.', '').replace('-', '') if len(cpf) != 11 or not cpf.isnumeric() or todos_numeros_iguais(cpf): return False numDV1 = recupera_primeiro_digito(cpf) numDV2 = recupera_segundo_digito(cpf, numDV1) return numDV1 == int(cpf[9]) and numDV2 == int(cpf[10])
if len(CPF) < 11: difCPF = 11 - len(CPF) CPF = '0' * difCPF + CPF
def todos_numeros_iguais(cpf): numIG = 0 for i in range(0, 11): numIG += int(cpf[i]) i += 1 if int(cpf[0]) == numIG / 11: print('CPF inválido!')
numCheckDV1 = int(CPF[9:10]) numCheckDV2 = int(CPF[10:11])
def recupera_primeiro_digito(cpf): numDV1 = 0 numCheckDV1 = int(CPF[9:10]) for i in range(1, 10): numDV1 = numDV1 + int(CPF[i-1:i]) * i
numDV1 = numDV1 % 11
if (numDV1 == 10): numDV1 = 0
if numDV1 != numCheckDV1: print('Digito 1 inválido!')
def recupera_segundo_digito(cpf, numDV1): numDV2 = 0 numCheckDV2 = int(CPF[10:11]) for i in range(2, 11): numDV2 = numDV2 + int(CPF[i-1:i]) * (i-1) numDV2 = numDV2 % 11
if (numDV2 == 10): numDV2 = 0 if numDV2 != numCheckDV2: print('Digito 2 inválido!') if (numDV1 == numCheckDV1 and numDV2 == numCheckDV2): print('CPF válido!')
if name == 'main': print('Informe o CPF') cpf = str(input()) if cpf_valido(cpf): print('CPF é válido.') else: print('CPF inválido')
agora = datetime.datetime.now() data_str = agora.strftime('%d/%m/%Y %H:%M') print(data_str)
import datetime
def cpf_valido(cpf): cpf = cpf.replace('.', '').replace('-', '') if len(cpf) != 11 or not cpf.isnumeric() or todos_numeros_iguais(cpf): return False numDV1 = recupera_primeiro_digito(cpf) numDV2 = recupera_segundo_digito(cpf, numDV1) return numDV1 == int(cpf[9]) and numDV2 == int(cpf[10])
verificar o número de caracteres do cpf
if len(CPF) < 11: difCPF = 11 - len(CPF) CPF = '0' * difCPF + CPF
verificar digitos iguais
def todos_numeros_iguais(cpf): numIG = 0 for i in range(0, 11): numIG += int(cpf[i]) i += 1 if int(cpf[0]) == numIG / 11: print('CPF inválido!')
capturar número digito verificador
numCheckDV1 = int(CPF[9:10]) numCheckDV2 = int(CPF[10:11])
calculo primeiro digito verificador
def recupera_primeiro_digito(cpf): numDV1 = 0 numCheckDV1 = int(CPF[9:10]) for i in range(1, 10): numDV1 = numDV1 + int(CPF[i-1:i]) * i
resto divisão por 11
se número maior que 10 considerar 0
if (numDV1 == 10): numDV1 = 0
verificar primeiro digito
if numDV1 != numCheckDV1: print('Digito 1 inválido!')
digito verificadr 2
def recupera_segundo_digito(cpf, numDV1): numDV2 = 0 numCheckDV2 = int(CPF[10:11]) for i in range(2, 11): numDV2 = numDV2 + int(CPF[i-1:i]) * (i-1) numDV2 = numDV2 % 11
verificar segundo digito
if (numDV2 == 10): numDV2 = 0 if numDV2 != numCheckDV2: print('Digito 2 inválido!') if (numDV1 == numCheckDV1 and numDV2 == numCheckDV2): print('CPF válido!')
if name == 'main': print('Informe o CPF') cpf = str(input()) if cpf_valido(cpf): print('CPF é válido.') else: print('CPF inválido')