FC ConcursosFC Concursos

Questão FC331140

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]

Linguagens de Programação

FGV · 2024

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>.

  1. 0
  2. 1
  3. 3
  4. [0, 0, 0, 0, 0]
  5. [0]
Mostrar resposta e comentário

Gabarito

A

Comentário do professor

O laço range(1,10,2) gera a sequência 1, 3, 5, 7, 9, e a cada iteração o método append constrói a lista x = [1, 3, 5, 7, 9].

Na linha y = x, não é criada uma cópia; tanto y quanto x passam a referenciar a mesma lista em memória (atribuição por referência para objetos mutáveis).

A instrução x[1] = 0 altera o elemento de índice 1 da lista referenciada, transformando-a em [1, 0, 5, 7, 9].

Como y aponta para a mesma lista modificada, a expressão y[1] recupera o valor alterado, ou seja, 0. Portanto, z recebe 0.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo