Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Faça como eu fiz: conversor de tipos - solução

# Transformar str em int

def converter (lista):
  return [int(telefone) for telefone in lista]
def verifica (lista):
  for num in lista:
    if not isinstance (num, int):
      return "Erro"
  return "Todos os números foram convertidos corretamente."

telefones = ["11987654321", "21912345678", "31987654321", "11911223344"]

tel_conv = converter(telefones)

print(verifica(tel_conv))

1 resposta

Olá, estudante. Tudo bem com você?

A sua estratégia de criar funções separadas para realizar a conversão e para validar o resultado final funcionou perfeitamente. A utilização de list comprehension para transformar a lista de strings em números inteiros deixou o código muito limpo, moderno e eficiente, além do uso correto da função isinstance para a verificação.

Uma dica para expandir os seus horizontes técnicos é pensar na robustez do sistema. Em cenários reais, se a lista original contiver uma string inválida ou vazia, a conversão direta usando int pode quebrar a execução do programa. Adicionar mecanismos de tratamento de exceções, como os blocos try e except, protege o fluxo contra falhas inesperadas de dados corrompidos.

Considerando essa possibilidade de falha caso o usuário digite um caractere alfabético no telefone, como você poderia integrar o bloco try except dentro da sua função de conversão para evitar a interrupção do script?

Parabéns pela ótima lógica de programação demonstrada e muito obrigado por compartilhar o seu código com todos no fórum. Continue engajado compartilhando suas soluções e saiba que estamos sempre à disposição.

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