Olá, Vitor, como vai?
Sua solução atende corretamente ao enunciado e está bem alinhada com o uso de laços for e condicionais em Python. O comportamento do código está adequado ao percorrer a lista, identificar valores ausentes e exibir apenas os projetos válidos.
O uso do continue é válido nesse contexto e deixa explícito que, ao encontrar um item None, o fluxo do laço deve seguir para a próxima iteração. Isso torna a leitura clara, principalmente para quem está aprendendo controle de fluxo.
Como ponto de refinamento, em Python é recomendado comparar com None usando o operador is, em vez de ==, pois None é um objeto único na linguagem. Nesse caso, a condição poderia ser escrita como if projeto is None:. O resultado prático é o mesmo aqui, mas essa forma é considerada mais idiomática.
Obrigado por compartilhar sua solução e por comparar com outras abordagens. O fórum fica à disposição para novas dúvidas e discussões, e fique à vontade para continuar trazendo seus códigos.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!