Alternativa B - [i for i in inteiros if i % 2 == 0]
Análise da Questão
A questão aborda um conceito fundamental da linguagem de programação Python: a Compreensão de Lista (List Comprehension). Esta funcionalidade permite criar novas listas de forma concisa, aplicando operações ou filtros diretamente durante a criação da coleção.
Estrutura da Sintaxe
A sintaxe padrão para uma compreensão de lista em Python segue a seguinte ordem lógica:
[ \text{expressão} \quad \textbf{for} \quad \text{variável} \quad \textbf{in} \quad \text{iterável} \quad \textbf{if} \quad \text{condição} ]
- expressão: O valor que será adicionado à nova lista (neste caso, o próprio número
i). - for ... in ...: O laço que percorre a lista original (
inteiros). - if: A cláusula opcional de filtro. Se a condição for verdadeira, o elemento é mantido; se não, é descartado.
Aplicação no Problema
Para obter apenas os números pares da lista inteiros, precisamos:
- Manter o valor original (
i) como resultado. - Iterar sobre a lista existente (
for i in inteiros). - Verificar se o número é divisível por 2 sem resto (
if i % 2 == 0).
Montando a frase na ordem correta:
[i for i in inteiros if i % 2 == 0]
Comparativo das Alternativas
| Alternativa | Análise da Sintaxe | Status |
|---|
| A | Inverteu a ordem do if e do for. O filtro vem após o loop. | ❌ Incorreta |
| B | Segue a ordem exata: expressão + for + in + if. | ✅ Correta |
| C | Apenas cria um loop vazio sem definir o retorno ou filtro. | ❌ Incorreta |
| D | Sintaxe incompreensível, faltam palavras-chave essenciais. | ❌ Incorreta |
| E | Falta a expressão inicial (i). O Python precisa saber o que colocar na nova lista. | ❌ Incorreta |
Portanto, a única forma sintaticamente correta de filtrar os elementos pares dentro de uma compreensão de lista é colocando a condição if ao final da definição do loop.