Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Validando um CPF

import os
import sys
os.system('cls')

# cliente insere CPF
def insere_cpf():
    cpf = input('Digite seu CPF: ')
    return cpf

# checa se é possível converter para um inteiro, ou seja, se apenas números foram digitados
def converte_cpf(cpf):
    try:
        int(cpf)
    except ValueError:
        sys.exit('Erro: O CPF deve conter apenas números. ')

# checa se possui 11 digitos
def contador_cpf(cpf):
    digitos = []
    for digito in cpf.strip():
        digitos.append(digito)
    contador = len(digitos)
    if contador == 11:
        print('CPF válido ')
    else:
        sys.exit('Erro: O CPF deve ter exatamente 11 dígitos. ')


cpf = insere_cpf()
converte_cpf(cpf)
contador_cpf(cpf)

Particularmente, vejo como oportunidade de melhoria criar uma função main() para chamar as demais funções e criar estruturas pra não finalizar o programa mas sim, retornar a um menu inicial. Optei por lançar o código dessa maneira pra otimizar o tempo e prosseguir no curso.

1 resposta
solução!

Bom dia! Tudo bem?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de funções separadas para organizar a lógica de entrada e validação de dados, utilizou muito bem o tratamento de exceções com try except para garantir robustez na verificação do CPF e ainda compreendeu a importância do uso de sys.exit() para interromper o programa em caso de erro.

Permaneça postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Ícone de sugestão Para saber mais:

Sugestão de conteúdo para você mergulhar ainda mais sobre o tema:

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!