Alternativa C - O código imprime o valor 2.
Análise do Código Python
O problema apresenta uma função recursiva simples que verifica se um número é par ou ímpar e retorna valores específicos. Para encontrar a resposta correta, precisamos analisar a chamada da função passo a passo.
Passo a Passo da Execução
A linha principal do código é:
\text{print}(fun(fun(2)))
Esta é uma chamada aninhada, o que significa que o computador deve resolver primeiro a função interna antes de passar o resultado para a externa.
- Resolvendo a função interna
fun(2):
- O argumento x recebe o valor $2$.
- A condição
if x % 2 == 0: verifica se $2$ é divisível por $2$. - Como $2 \% 2$ resulta em $0$, a condição é verdadeira.
- A função executa
return 1. - Portanto,
fun(2) substitui-se pelo valor 1.
- Resolvendo a função externa
fun(1):
- Agora a expressão torna-se
print(fun(1)). - O novo argumento x é $1$.
- A condição
if x % 2 == 0: verifica se $1$ é divisível por $2$. - Como $1 \% 2$ resulta em $1$ (diferente de $0$), a condição é falsa.
- O controle vai para o bloco
else. - A função executa
return 2. - Portanto, o resultado final é 2.
Resumo da Lógica
| Entrada (x) | Condição (x \% 2 == 0) | Retorno |
|---|
| 2 (Par) | Verdadeiro | 1 |
| 1 (Ímpar) | Falso | 2 |
Como o resultado final da expressão é $2$, a alternativa correta corresponde à terceira opção na lista.
Alternativa C.