Olá, João, como vai?
Seu código está funcional na parte de conversão, mas não segue exatamente o que a atividade pede. A função converter está fazendo tanto a conversão quanto a validação, enquanto o enunciado solicita duas funções separadas. Além disso, a validação que você utilizou compara apenas o tamanho das listas, o que não garante que os valores foram realmente convertidos para inteiro. Outro ponto é que você imprime telefones no final, mas essa lista original não foi modificada, então continuará sendo uma lista de strings.
Uma abordagem mais adequada seria separar responsabilidades: uma função apenas converte e retorna a nova lista, e outra verifica se todos os elementos são do tipo inteiro.
Por exemplo:
def converter(lista):
return [int(t) for t in lista]
def verificar(lista):
for item in lista:
if not isinstance(item, int):
return False
return True
Assim você garante que cada função tem uma única responsabilidade e a verificação realmente valida o tipo dos dados.
No geral, a sua lógica de conversão está correta, e é positivo ver que você tentou resolver apenas com o material do curso. Continue compartilhando suas soluções, o fórum está à disposição para ajudar no seu progresso.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!