Questão nº 30

Questão de Economia de Energia · FGV EPE 2024 (nº 30)

FGV2024Analista de Pesquisa Energética - Economia de EnergiaEconomia de Energia
Gabarito: Aver comentário ↓

Considere o código a seguir, escrito na linguagem de programação Python (versão 3.11.3).

<1> x = []

<2> for i in range(1,10,2):

<3> x.append(i)

<4> y = x

<5> x[1] = 0

<6> z = y[1]

Assinale a opção que indica o valor que z recebe na linha <6>.

Resposta comentada

Gabarito Alternativa A

Em Python, quando você atribui uma lista a outra variável (por exemplo, `y = x`), você não cria uma nova lista. Em vez disso, ambas as variáveis passam a ser referências para a mesma lista na memória. Isso significa que qualquer modificação feita através de uma variável afetará a lista que ambas compartilham.

(A) Correta: O valor de `z` é 0 porque `y` referencia a mesma lista que `x`. Após `x[1] = 0`, a lista compartilhada se torna `[1, 0, 5, 7, 9]`, e `y[1]` acessa o segundo elemento dessa lista modificada.
(B) Incorreta: O valor 1 é o primeiro elemento da lista (`x[0]` ou `y[0]`), não o segundo após a modificação.
(C) Incorreta: O valor 3 era o segundo elemento da lista antes da linha `<5>`. Essa alternativa é uma armadilha para quem pensa que `y = x` cria uma cópia independente da lista, e não uma referência ao mesmo objeto.
(D) Incorreta: `z` recebe um único valor, não uma lista. Além disso, a lista final não é `[0, 0, 0, 0, 0]`.
(E) Incorreta: `z` recebe um único valor, não uma lista.

Fonte: FGV EPE 2024 Analista de Pesquisa Energética - Economia de Energia (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho