Pular para o conteúdo principal

Questão de Programação — Python — FGV 2024

ProgramaçãoPython
Código
fg100823
Banca
FGV
Órgão
TRF - 1ª REGIÃO
Ano
2024
Nível
Superior
Cargo
Analista Judiciário - Área Apoio Especializado - Especialidade: Análise de Dados
Considere o seguinte código em Python com NumPy:import numpy as npa = np.arange(16).reshape(8,2).Tprint(a.shape, a.ndim, a[0][1])Ao ser executado, o código acima imprime na saída padrão:
  1. A(2, 2) 2 1
  2. B(2, 2) 8 2
  3. C(2, 8) 2 2
  4. D(2, 8) 8 2
  5. E(8, 2) 2 8
Revelar gabarito e comentário

GabaritoC — (2, 8) 2 2

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Python com NumPy – Operações em arrays

Gabarito: letra C. O código cria um array unidimensional de 0 a 15, remodela para 8 × 2 e transpõe para 2 × 8. O shape é (2, 8), o ndim é 2 e o elemento a[0][1] vale 2. A única alternativa que casa esses três valores é a C.

Vamos acompanhar cada passo:

  1. np.arange(16) → array unidimensional: [0,1,2,...,15], shape (16,).

  2. .reshape(8,2) → matriz com 8 linhas e 2 colunas:

    ```

    [[0,1],

    [2,3],

    ...,

    [14,15]]

    ```

    shape (8,2).

  3. .T → transposição: inverte linhas e colunas, shape vira (2,8). A matriz resultante:

    ```

    [[0,2,4,6,8,10,12,14],

    [1,3,5,7,9,11,13,15]]

    ```

  4. a.shape → (2, 8).

  5. a.ndim → 2 (matriz bidimensional).

  6. a[0][1] → primeira linha, segunda coluna = 2.

Portanto a saída impressa é (2, 8) 2 2.

  1. 1np.arange(16)
  2. 2.reshape(8,2)
  3. 3.T (transpor)
  4. 4a.shape → (2,8)
  5. 5a.ndim → 2
  6. 6a[0][1] → 2
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Aponta shape (2, 2), que não corresponde ao resultado da transposição. O correto é (2, 8).

Alternativa B — ❌ Incorreta

Também erra shape (2, 2) e ainda apresenta ndim = 8, que seria o número de elementos do array original, não o número de dimensões.

Alternativa C — ✅ Correta ⟵ GABARITO

(2, 8) para shape, 2 para ndim e 2 para a[0][1]. Tudo exato.

Alternativa D — ❌ Incorreta

Shape (2, 8) está certo, mas ndim é 8, quando na verdade é 2.

Alternativa E — ❌ Incorreta

Shape (8, 2) é o formato antes da transposição, não depois. O valor de a[0][1] seria 1 (se fosse 8×2), não 8.

PEGA ESSA DICA!

Ao lidar com reshape e .T, desenhe mentalmente a matriz ou use um pequeno exemplo para conferir shape e índices. A transposição inverte completamente a organização dos dados, mudando a forma como os elementos são acessados por índices.

Gabarito: letra C.

Link permanente: /questoes/fg100823