Eu resolvi dessa maneira pois None é considerado sempre False, diferente de strings.
projetos = ["website", "jogo", "análise de dados", None, "aplicativo móvel"]
for projeto in projetos:
if projeto:
print(projeto)
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!
Eu resolvi dessa maneira pois None é considerado sempre False, diferente de strings.
projetos = ["website", "jogo", "análise de dados", None, "aplicativo móvel"]
for projeto in projetos:
if projeto:
print(projeto)
Olá Laís.
Tudo bem?
Sua solução está correta e demonstra um bom entendimento de como o Python avalia valores em contextos booleanos. Como você observou, None é considerado False, então a condição if projeto: faz com que apenas os elementos que possuem valor sejam exibidos.
Uma vantagem dessa abordagem é que o código fica mais enxuto e legível.
Apenas vale destacar que ela não filtra exclusivamente o None, mas qualquer valor considerado falso, como uma string vazia (""), o número 0 ou uma lista vazia ([]).
Nesse exercício isso não gera problema, mas é uma diferença importante em relação a uma verificação explícita como if projeto is not None:.
Parabéns pela observação e pela busca de uma solução mais idiomática.
Esse tipo de raciocínio ajuda bastante no desenvolvimento de códigos mais limpos e eficientes.
Avise qualquer dúvida.
Bons estudos.