Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

2
respostas

Faça como eu fiz: filtrando números pares

def titulo(txt):
    print('=' * len(txt))
    print(txt)
    print('=' * len(txt))

def selecao_numeros():
    lista_numeros = []
    while True:
        x = int(input('Digite um número: '))
        lista_numeros.append(x)
        while True:
            opcao = input('Quer continuar? [S/N]').strip().upper()
            if opcao in ('S', 'N'):
                break
        if opcao == 'N':
            return lista_numeros

def separacao_pares(numeros):
    pares = list(filter(lambda y: y % 2 == 0, numeros))
    print(f'Os números pares são {pares}.')


def main():
    titulo('FILTRANDO NÚMEROS PARES')
    numeros = selecao_numeros()
    separacao_pares(numeros)

if __name__ == '__main__':
    main()
2 respostas

Oi, Giovanni! Como vai?

Que ótimo ver você praticando a lógica de filtrar números pares com Python! A forma como você organizou o código em funções separadas, como titulo, selecao_numeros, separacao_pares e main, demonstra uma preocupação real com clareza e responsabilidade única por função. Isso é uma prática muito valorizada no dia a dia de quem programa.

O uso do filter() com lambda para identificar os números pares também foi uma escolha inteligente. Essa abordagem deixa o código mais enxuto e expressivo, especialmente quando combinada com a estrutura while True para controlar o input do usuário e a variável opcao para decidir se a coleta de dados continua ou não. A lista lista_numeros sendo construída dinamicamente e depois processada, é um fluxo bem pensado.

Uma dica interessante para o futuro é utilizar a função sorted() quando quiser exibir os números em ordem crescente. Veja este exemplo:


numeros = [8, 3, 6, 1]
ordenados = sorted(numeros)
print(ordenados)

Esse código cria uma nova lista com os valores ordenados, sem alterar a lista original. Assim, você preserva os dados originais e ainda exibe o resultado de forma mais organizada para o usuário.

Você já pensou em adaptar esse mesmo código para filtrar números ímpares ou múltiplos de outros valores, como múltiplos de 3 ou de 5?

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

Muito obrigado pelo feedback! Ainda não pensei em upgrades, mas a sua sugestão pode ser uma possibilidade!