Questão FC331240
Considere o código a seguir, escrito na linguagem de programação Python (versão 3.11.3). <1> import numpy as np <2> x = np.arange(1,30,2).reshape(3,5) <3> y = x[[1,2]] <4> y[0,:]=0
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> import numpy as np
<2> x = np.arange(1,30,2).reshape(3,5)
<3> y = x[[1,2]]
<4> y[0,:]=0
<5> z = x[0,2]
Assinale a opção que indica o valor que z recebe na linha <5>.
- 0
- 5
- array([[ 0, 0, 0, 0, 0]])
- array([[11, 13, 15], [21, 23, 25]])
- array([[ 1, 3, 5 ], [11, 13, 15]])
Mostrar resposta e comentário
Gabarito
B
Comentário do professor
Comece por avaliar np.arange(1,30,2): gera a sequência ímpar de 1 até 29, isto é \( [1,3,5,7,9,11,13,15,17,19,21,23,25,27,29] \).
Aplicando .reshape(3,5), os elementos preenchem por linhas formando a matriz
\(x=\begin{bmatrix}1&3&5&7&9\\11&13&15&17&19\\21&23&25&27&29\end{bmatrix}\).
A instrução y = x[[1,2]] seleciona as linhas de índice 1 e 2 (segunda e terceira). Em NumPy, esse tipo de indexação cria uma cópia; portanto, alterações em y não afetam x.
Por fim, z = x[0,2] acessa a linha 0, coluna 2 da matriz original, ou seja o elemento 5. Logo, z recebe 5.
Conteúdo do catálogo FC Concursos · Atualizado em