Pular para o conteúdo principal

Questão de Programação — Python — VUNESP 2023

ProgramaçãoPython
Código
vu078917
Banca
VUNESP
Órgão
TCM-SP
Ano
2023
Nível
Superior
Cargo
Auditor de Controle Externo - Especialidade: Tecnologia da Informação
Considere o dicionário definido em Python 3 a seguir.x = {i+1: i for i in range(10) if i % 3 == 0}O resultado de sum(x) é:
  1. A18
  2. B21
  3. C22
  4. D40
  5. E42
Revelar gabarito e comentário

GabaritoC — 22

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

Dicionários em Python – Compreensão e soma de chaves

Gabarito: letra C (22). O código constrói um dicionário com chaves i+1 para i em range(10) quando i é múltiplo de 3. A função sum(x) itera sobre as chaves do dicionário e as soma. Calculando as chaves: 1, 4, 7, 10 → soma = 22.

Passo a passo da execução

A expressão {i+1: i for i in range(10) if i % 3 == 0} é uma dictionary comprehension – equivalente ao seguinte laço:

x = {}
for i in range(10):
    if i % 3 == 0:
        x[i+1] = i
  • range(10) gera os números 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

  • O filtro if i % 3 == 0 seleciona apenas os múltiplos de 3: 0, 3, 6, 9.

  • Para cada i selecionado, a chave é i+1 e o valor é i.

i

chave (i+1)

valor (i)

0

1

0

3

4

3

6

7

6

9

10

9

Portanto, x = {1: 0, 4: 3, 7: 6, 10: 9}.

Comportamento de sum(x)

Em Python, quando usado sobre um dicionário, sum() (assim como for ou list()) itera sobre as chaves do dicionário, a menos que explicitamente se use .values() ou .items(). Logo, sum(x) equivale a sum(x.keys()), ou seja, 1 + 4 + 7 + 10 = 22.

PEGA ESSA DICA!

A função sum() em dicionários sempre soma as chaves (padrão de iteração). Para somar os valores, use sum(x.values()).

Gabarito: letra C.

Link permanente: /questoes/vu078917