-
Notifications
You must be signed in to change notification settings - Fork 0
/
Validar.py
32 lines (26 loc) · 882 Bytes
/
Validar.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
while True:
cpf = input('Digite o CPF: ') \
.replace('.', '') \
.replace(' ', '') \
.replace('-', '')
nove_digitos = cpf[:9]
contador_regressivo = 10
resultado = 0
for digito_1 in nove_digitos:
resultado += int(digito_1) * contador_regressivo
contador_regressivo -= 1
digito_1 = (resultado * 10) % 11
digito_1 = digito_1 if digito_1 <= 9 else 0
dez_digitos = nove_digitos + str(digito_1)
contador_regressivo_2 = 11
resultado_2 = 0
for digito in dez_digitos:
resultado_2 += int(digito) * contador_regressivo_2
contador_regressivo_2 -= 1
digito2 = (resultado_2 * 10) % 11
digito2 = digito2 if digito2 <= 9 else 0
novo_cpf = f'{nove_digitos}{digito_1}{digito2}'
if cpf == novo_cpf:
print(f'{novo_cpf} é valido!')
else:
print('CPF invalido!')