Essa foi a minha solução:
def confirmar_cpf(numero):
'''Confirma se o CPF tem 11 digitos e se são só números
retorna True se estiver tudo certo'''
if not numero.isdigit():
return "Erro: O CPF deve conter apenas números."
if len(numero) != 11:
return "Erro: O CPF precisa conter exatamente 11 dígitos."
return True # Retorna True se estiver tudo certo
def formatar_cpf(numero):
'''Retorna cpf formatado: XXX.XXX.XXX-XX'''
return f'{numero[:3]}.{numero[3:6]}.{numero[6:9]}-{numero[9:]}'
def mostra_resultado(numero):
'''Mostra o resultado do CPF caso confirmar_cpf for True'''
validacao = confirmar_cpf(numero)
if validacao is True:
cpf_formatado = formatar_cpf(numero)
return f'CPF válido! O CPF {cpf_formatado} foi cadastrado com sucesso.'
else:
return validacao
cpf_digitado = input('Digite o CPF (apenas números): ')
print(mostra_resultado(cpf_digitado))