Carregando...
Carregando...
Ajude a melhorar a plataforma
Analise o código Python abaixo:
print(fun(0, 3))```
Qual será a saída do snippet? ```
Explique melhor esta questão
Abre o Tutor com o enunciado e as alternativas já no campo — você revisa e envia.
Esta questão foi verificada por um de nossos administradores.
Alternativa D - O snippet imprimirá o valor 0.
Este exercício testa o entendimento sobre recursividade em Python. A função fun(x, y) chama a si mesma enquanto a condição inicial não for atendida.
Vamos simular a chamada print(fun(0, 3)):
fun(0, 3)else e chama fun(0, 3-1) $\rightarrow$ fun(0, 2).fun(0, 2)else e chama fun(0, 2-1) $\rightarrow$ fun(0, 1).fun(0, 1)else e chama fun(0, 1-1) $\rightarrow$ fun(0, 0).fun(0, 0)O valor retornado propaga-se de volta por todas as chamadas anteriores até chegar ao comando print. Como o valor final retornado é 0, a saída será 0.
| Estado | x | y | Ação | | --- | --- | --- | --- | | Início | 0 | 3 | Recursão (y-1) | | Passo 1 | 0 | 2 | Recursão (y-1) | | Passo 2 | 0 | 1 | Recursão (y-1) | | Passo 3 | 0 | 0 | Retorna 0 |
Portanto, a alternativa correta é a que indica o valor 0.