1
resposta

Prática - Organizando seu portfólio

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

for projeto in projetos:
    if projeto is None:
        print("projeto ausente")
    else:
        print(projeto)

Saída:

website
jogo
análise de dados
projeto ausente
aplicativo móvel
1 resposta

Olá, Aristóteles. Como vai?

Excelente exemplo de como tratar dados ausentes em uma lista! Esse é um cenário extremamente comum no dia a dia de quem trabalha com programação e análise de dados, onde nem sempre as informações estão completas.

No seu código, você utilizou corretamente a verificação if projeto is None. Em Python, o is é o operador recomendado para comparar variáveis com o objeto None, pois ele verifica a identidade do objeto na memória, garantindo uma comparação mais precisa do que o operador de igualdade ==.

Para complementar sua prática, gostaria de apresentar duas formas alternativas de lidar com esse fluxo de controle que podem ser muito úteis:

**1. Pulando o item ausente com continue**
Se o seu objetivo fosse apenas listar os projetos existentes e ignorar completamente os que estão faltando (sem imprimir a mensagem de erro), você poderia utilizar a palavra-chave continue. Ela interrompe a iteração atual e pula direto para o próximo item da lista:

for projeto in projetos:
    if projeto is None:
        continue
    print(projeto)

**2. Parando a execução com break**
Imagine que seu código está processando uma fila de tarefas e, ao encontrar um valor None, você decide que não deve mais continuar o processamento. Para isso, usamos o break:

for projeto in projetos:
    if projeto is None:
        break
    print(projeto)

Dica de Python Moderno
A partir do Python 3.10, também podemos usar o match case, que torna a leitura bem elegante para verificações de padrões:

for projeto in projetos:
    match projeto:
        case None:
            print("projeto ausente")
        case _:
            print(projeto)

Essas estruturas de controle ajudam a tornar seu código mais resiliente e preparado para lidar com diferentes tipos de entrada de dados.

Espero que possa ter lhe ajudado!