Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — CESPE / CEBRASPE 2023

ProgramaçãoLinguagens de programação
Código
ce153508
Banca
CESPE / CEBRASPE
Órgão
DATAPREV
Ano
2023
Nível
Superior
Cargo
Analista de Tecnologia da Informação - Perfil: Engenharia Mecânica
No que se refere à manipulação de vetores em Python, julgue o item seguinte.O código a seguir, escrito em Python, será executado sem erros, pois, nativamente, é possível realizar operações matemáticas complexas em vetores sem a necessidade de importar bibliotecas.u = [1, 2, 3]v = [[1], [2], [3]]print(u @ v)
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

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 – Operador @ com listas

Gabarito: ❌ ERRADO. O código apresentado NÃO será executado sem erros. O operador @ em Python é o operador de multiplicação de matrizes (PEP 465), mas ele não está implementado para o tipo list nativo. Como u e v são listas, a expressão u @ v levanta um TypeError em tempo de execução. Para usar @ é necessário que os operandos sejam objetos que suportem o protocolo __matmul__, como arrays do NumPy. Portanto, a afirmação de que o código roda sem erros e que operações vetoriais complexas são nativas em listas é falsa.

  1. 1Operador @ (matmul)
  2. 2[-] Não implementado para list
  3. 3TypeError em execução
  4. 4[+] Funciona com NumPy
LEVEL · soulevel.com.br
PEGA ESSA DICA!

O Python nativo oferece operadores aritméticos comuns (+, -, *, /) para listas, mas com semântica de concatenação/repetição, não matemática vetorial. Multiplicação de matrizes (@) e operações elemento a elemento exigem bibliotecas como NumPy. Sempre verifique o tipo dos objetos ao usar operadores especiais.

✅ ERRADO.

Link permanente: /questoes/ce153508