Oi, Laís! Como vai?
Gostei da forma como você separou a solução em duas funções, deixando uma responsável pela conversão e outra pela validação dos dados. Isso torna o código mais organizado e facilita a manutenção. Além disso, o uso de isinstance() foi uma ótima escolha para verificar se todos os valores foram convertidos corretamente.
Uma dica interessante para o futuro é utilizar a função all(), que permite verificar se todos os elementos de uma lista atendem a uma condição de forma mais compacta. Veja este exemplo:
lista = [1, 2, 3, 4]
if all(isinstance(item, int) for item in lista):
print("Todos sao inteiros")
Neste exemplo, all() verifica se todos os itens da lista são do tipo inteiro e retorna True quando a condição é atendida.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!