Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Resolução de Atividades -

def conversor_inteiro (lista_de_numeros):

    lista_atualizada = []

    for numero_lista in lista_de_numeros:

        try:

            numero_lista = int (numero_lista)
            # print (numero_lista)
            # print (isinstance (numero_lista, int)) Testes

            lista_atualizada.append (numero_lista)
        
        except ValueError:

            return "Há elementos que não são strings na lista enviada\n"

    return lista_atualizada

def checagem_de_conversoes (lista_de_numeros):

    for numero_lista in lista_de_numeros:
        
        if not isinstance (numero_lista, int):

            return "Houve um erro na conversão, tente novamente\n"
        
    return "Todos os números foram convertidos!"

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

lista_verificada = conversor_inteiro (telefones)
print (lista_verificada)
print (checagem_de_conversoes (lista_verificada))

Sinto que minha solução não foi muito satisfatória =(

2 respostas
solução!

Oi, Victor, tudo bem?

Que nada! Pelo contrário, o seu código ele tá ótimo, e tem um toque que a solução do instrutor não possui: o tratamento de erros com try-except.

A principal diferença visual para o do instrutor, é que ele utilizou um recurso chamado List Comprehension ([int(telefone) for telefone in lista]). Ele é apenas um "atalho" do Python para escrever em uma única linha o mesmo laço for com .append() que você construiu de forma mais detalhada. É um recurso muito bacana para deixar o código mais enxuto, mas que não torna a sua lógica menos correta ou inferior.

O seu raciocínio lógico estruturou a solução de maneira perfeita e segura. Continue com esse olhar cuidadoso durante os seus testes!

Bons estudos!

Sucesso

Imagem da comunidade

Obrigado. Fico feliz que a resposta tenha atingido o o bjetivo =)