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

[Projeto] Validando CPF

Acrescentei nessa solução a verificação para que o usuário não digite todos os números repetidos ou zeros.

def solicitar_cpf():

    cpf_valido = False

    while not cpf_valido:
        cpf = input('Digite o número de seu CPF: ').strip()

        digitos_iguais = len(set(cpf)) == 1
        
        if len(cpf) == 11 and cpf.isdigit() and not digitos_iguais:
            cpf_valido = True
            cpf_formatado = f'{cpf[0:3]}.{cpf[3:6]}.{cpf[6:9]}-{cpf[9:]}'
            print(f'CPF: {cpf_formatado}')
        else:
            if not cpf.isdigit():
                print(f'Erro: O CPF deve conter apenas números. Tente novamente.')
            elif digitos_iguais:
                print(f'Erro: O CPF não deve ser uma sequência de números iguais. Tente novamente.')
            else:
                print(f'Erro: CPF incorreto. Por favor,, digite apenas os 11 números de seu CPF. Tente novamente.')

solicitar_cpf()
1 resposta
solução!

Oi, Joanevan! Como vai?

Foi ótimo você bloquear sequências repetidas e zeros; isso deixa a entrada mais confiável.

Parabéns por praticar e continue firme nos estudos.

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