Olá, Felipe. Como vai?
Parabéns por mais um desafio concluído! É muito interessante ver como você está aplicando o Python para resolver problemas de organização que podem ser facilmente transportados para o seu dia a dia como Auxiliar de Estoque — como identificar um item faltante em uma lista de inventário, por exemplo.
Seu código utiliza uma estrutura lógica muito importante: a verificação de valores nulos (None). No mundo dos dados, lidar com informações ausentes é uma das tarefas mais comuns e essenciais.
Gostaria de destacar dois pontos técnicos fundamentais sobre o comportamento do seu código:
1. O comportamento do return
No seu código, você usou o return. É importante lembrar que, assim que o Python encontra um return dentro de uma função, ele encerra a execução dela imediatamente.
- No seu caso, o laço
for percorre "website", "jogo" e "análise de dados". Quando ele chega no None, ele retorna a mensagem e para. - Se houvesse outro
None depois de "aplicativo móvel", a função nem chegaria a vê-lo.
2. return vs print
Como você está imprimindo o resultado da função (print(projeto_ausente)), o fluxo está correto. Se a lista não tivesse nenhum None, sua função percorreria todos os itens e, ao final, retornaria None (o padrão do Python quando não há um return explícito), o que faria o seu print exibir None.
**Dica de Ouro: continue vs break**
Dependendo do seu objetivo no estoque, você pode querer apenas pular os itens vazios ou parar tudo.
- Se quiser apenas avisar quais estão ausentes mas continuar verificando o resto da lista, usamos o
print com continue. - Se quiser parar a verificação no primeiro erro, o seu
return (ou um break) é o ideal.
Veja uma variação caso você quisesse apenas listar o que está faltando sem parar o programa:
def verificar_estoque():
projetos = ["website", "jogo", "análise de dados", None, "aplicativo móvel"]
for projeto in projetos:
if projeto is None:
print("Atenção: Existe um item ausente na lista!")
else:
print(f"Projeto {projeto} verificado com sucesso.")
verificar_estoque()
Você prefere que o sistema pare no primeiro erro encontrado ou que ele gere um relatório completo de tudo o que está faltando no final?