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()