Meu código:
Achei estranho e peguei o da opnião do instrutor e testei e deu certinho
Meu código:
Achei estranho e peguei o da opnião do instrutor e testei e deu certinho
Olá, Estudante. Como vai?
Não precisa achar estranho! O seu código original (exibido na primeira imagem) está excelente, super avançado e funciona perfeitamente bem. O que você fez ali foi usar técnicas muito elegantes de Python que deixaram o seu programa mais curto e rápido do que a estrutura tradicional.
Ambas as abordagens resolvem o desafio com sucesso. Vamos analisar as diferenças e entender por que a sua primeira versão é, na verdade, uma excelente solução de nível profissional:
Na função converter_telefones, você utilizou uma linha poderosa:
return [int(telefone) for telephone in lista]
Isso se chama List Comprehension em Python. É uma forma compacta e performática de fazer exatamente o que o instrutor fez na segunda imagem usando três linhas (numeros_convertidos = [], o laço for e o .append()). O mercado de desenvolvimento valoriza muito o uso de List Comprehension porque o código fica mais limpo e consome menos processamento.
isinstance() vs type()Na sua função verifica_tipos, você utilizou a verificação if not isinstance(num, int):. Já a opinião do instrutor utilizou if type(telefone) != int:.
isinstance() é considerada a melhor prática oficial do Python (segundo o guia de estilo PEP 8). O isinstance() é muito mais robusto porque ele consegue validar não apenas o tipo primitivo, mas também lida corretamente com herança de classes (programação orientada a objetos) que você verá mais adiante no curso.A única diferença estrutural real entre os dois códigos é o que eles devolvem:
True ou False) na função de teste e deixa para fazer o print do texto lá no escopo principal.As duas lógicas estão certas! A dica é apenas manter os nomes das funções bem conectados com o que elas fazem. Como a sua função se chama verifica_tipos, o desenvolvedor que ler seu código pode esperar que ela devolva um booleano. Se quiser manter o retorno em texto, mudar o nome para algo como relatorio_de_tipos deixa o seu código ainda mais intuitivo.
Você criou uma solução excelente usando recursos nativos fantásticos do Python. Pode confiar no seu potencial, você está pegando o jeito muito rápido!
Espero que possa ter lhe ajudado!