1
resposta

[Sugestão] ORGANIZANDO SEU PORTIFOLIO

Prezados(as),
Boa Tarde,

Segue sugestão de solução para o exercício: Organizando seu portfólio

projetos = ["website", "jogo", "análise de dados", None, "aplicativo móvel"]

for projeto in projetos:
    if projeto is not None:
        print(f"Projeto: {projeto}")
    else:
        print("Projeto ausente")
1 resposta

Olá, Luiz Fernando. Como vai?

Sua proposta de solução para a organização do portfólio ficou excelente! O código está muito limpo, bem identado e resolve o problema de maneira elegante.

O grande destaque da sua implementação foi a inteligência em lidar com dados ausentes (None). Em cenários reais de engenharia de dados e desenvolvimento de software, é extremamente comum nos depararmos com listas ou bancos de dados que possuem campos vazios, nulos ou corrompidos. Tratar isso com o teste de validação if projeto is not None: impede que o seu programa quebre ou exiba uma informação feia para o usuário final, garantindo o que chamamos de robustez do código.

Para somar aos seus estudos e trazer novas perspectivas para os colegas do fórum, preparei duas dicas: uma sobre como funciona o fluxo de desvio e outra sobre uma palavra-chave do Python que se encaixa perfeitamente nesse cenário.


O Fluxo de Tomada de Decisão com Dados Nulos

Dentro de um laço de repetição, a presença de uma condicional cria uma bifurcação a cada rodada. Veja como o interpretador do Python gerencia a memória quando encontra o elemento None na sua lista:

  • Quando o elemento é válido (ex: "jogo"): O teste if retorna Verdadeiro (True), e o Python executa o bloco que imprime o nome do projeto.
  • Quando o elemento é None: O teste if retorna Falso (False), fazendo o Python desviar imediatamente para o bloco do else e imprimir a mensagem de aviso.

Indo Além: Otimizando o Fluxo com a Palavra-Chave continue

A sua solução usando if/else está totalmente correta e é ótima porque mapeia as duas situações possíveis.

Contudo, imagine um cenário onde o seu portfólio tivesse centenas de projetos e, caso o item fosse inválido (None), você quisesse simplesmente ignorá-lo e pular direto para o próximo elemento, sem imprimir nada na tela.

No Python, nós podemos fazer isso usando a palavra-chave continue. Ela serve para interromper a rodada atual do laço e forçar o programa a voltar para o topo, avançando para o próximo item da lista. Veja como o código ficaria limpo:

projetos = ["website", "jogo", "análise de dados", None, "aplicativo móvel"]

print("Exibindo apenas projetos válidos:")
for projeto in projetos:
    if projeto is None:
        continue  # Encontrou um nulo? Ignora o resto do bloco e pula para o próximo!
        
    # Esta linha só será executada se o projeto NÃO for None
    print(f"Projeto: {projeto}")

Note que, ao usar o continue, nós eliminamos a necessidade de usar o bloco else, diminuindo o nível de aninhamento do código, o que ajuda muito na legibilidade de sistemas complexos.

Parabéns por mais uma excelente entrega didática e pela consistência impecável nas suas publicações!

Espero que possa ter lhe ajudado!