1
resposta

[Solução] Organizando seu portifólio

def main() -> None:
    separador: str = '\n-----------------------------------\n'

    # Esta primeira abordagem utiliza a característica "truthy/falsy" do Python para tratar valores
    # ausentes (None, '') diretamente no loop de impressão, sem pré-processar a lista.
    projetos: list = ["website", "jogo", "análise de dados", None, "aplicativo móvel"]

    print(f'Lista pré-processamento: {projetos}\n')
    print(f'Lista pós-processamento:')

    for projeto in projetos:
        if projeto:
            print(f'{projeto}')
        else:
            print('Projeto ausente')
    
    print(separador)

    # Cria uma nova lista homogênea aplicando o tratamento de 'None' e strings vazias 
    # via list comprehension. Isso é ideal quando a lista tratada precisa ser usada em outras partes do código.
    projetos_tratados = [projeto if projeto else 'Projeto ausente' for projeto in projetos]

    print(f'Lista pré-processamento: {projetos}\n')
    print(f'Lista pós-processamento:')

    for projeto in projetos_tratados:
        print(f'{projeto}')
    
    print(separador)

    # Esta abordagem lida com listas de tipos mistos. Ela garante que um elemento seja aceito
    # apenas se for uma "string" (isinstance) E se possuir "conteúdo" (projeto ser truthy),
    # rejeitando números, booleanos, None e strings vazias ("").
    projetos = ["", "website", 10, "jogo", 357.5, "análise de dados", None, "aplicativo móvel", True]

    projetos_tratados = [projeto if projeto and isinstance(projeto, str) else 'Projeto ausente' for projeto in projetos]

    print(f'Lista pré-processamento: {projetos}\n')
    print(f'Lista pós-processamento:')

    for projeto in projetos_tratados:
        print(f'{projeto}')
    

if __name__ == '__main__':
    main()

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Oi, Mozert! Como vai?

Agradeço por compartilhar.

Gostei da forma como você organizou o código e explicou cada etapa. Ficou bem claro como você aplicou a ideia de valores truthy/falsy e o uso de list comprehension para tratar diferentes tipos de dados, um ótimo exemplo de escrita limpa e estruturada.

Continue praticando essa clareza no raciocínio.

Conteúdos relacionados
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!