Questão nº 51

Questão de Tecnologia da Informação · CESGRANRIO BB 01/2022 (nº 51)

CESGRANRIO2022Escriturário - Agente de TecnologiaTecnologia da Informação
Gabarito: Ever comentário ↓

A seguir, é apresentado um fragmento de código em Python.

```python
import numpy as np
b = np.array([[1,2,3,5]])
c = b.transpose()
print(b.dot(c),sum(b),sum(c))
```

O fragmento de código acima provoca a seguinte saída:

Resposta comentada

Gabarito Alternativa E

Conceito-chave: b é um array 2D de formato (1,4) (1 linha, 4 colunas). transpose() inverte as dimensões, então c tem formato (4,1). dot faz multiplicação de matrizes: (1,4) @ (4,1) resulta em (1,1), ou seja, um array 2D com um único elemento. sum(b) soma todos os elementos do array 2D, retornando um escalar (número inteiro), e sum(c) soma os 4 elementos da coluna, também retornando um escalar.

  • (A) Incorreta: b.dot(c) é [[39]] (array 2D), não 39 (escalar); e sum(b) e sum(c) são escalares 11 e 11, não listas [11].
  • (B) Incorreta: b.dot(c) é [[39]], não 39; e sum(c) é 11 (escalar), não [1 2 3 5].
  • (C) Incorreta: b.dot(c) é [[39]], não [39] (array 1D); e sum(c) é 11, não [1 2 3 5].
  • (D) Incorreta: sum(b) e sum(c) são escalares 11, não listas [11]; a pegadinha é achar que sum em array 2D retorna lista, mas ele soma todos os elementos e devolve um número.
  • (E) Correta: b.dot(c) multiplica (1,4) por (4,1)(1,1) = [[39]]; sum(b) soma 1+2+3+5 = 11 (escalar); sum(c) soma a coluna [1,2,3,5] = 11 (escalar). A armadilha da banca é confundir sum de array NumPy com sum de lista Python: aqui, sum sempre reduz a um escalar, e dot preserva as dimensões 2D.

Fonte: CESGRANRIO BB 01/2022 Escriturário - Agente de Tecnologia (Caderno Gabarito 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