Pular para o conteúdo principal

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

ProgramaçãoLinguagens de programação
Código
ce222023
Banca
CESPE / CEBRASPE
Órgão
UNB
Ano
2025
Nível
Médio
Cargo
Técnico em Tecnologia da Informação
A respeito de APIs, web services e JSON, julgue o item a seguir.Imagem associada para resolução da questãoConsiderando o código em Python precedente, é correto afirmar que sua execução apresentará o resultado a seguir.Nome: MarianaIdade: 21Disciplinas:- Algoritmos- Estruturas de Dados
  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: iteração sobre dicionário e formatação de saída

Gabarito: letra E (ERRADO). A execução do código Python não produzirá exatamente a saída apresentada, porque a iteração sobre um dicionário percorre apenas as chaves, e não os valores. Para obter o resultado descrito, seria necessário acessar os valores com dicionario[chave] ou usar o método .items(). A saída real seria Nome: Mariana, Idade: 21 e Disciplinas: seguido das chaves Algoritmos e Estruturas de Dados, sem os hífens e sem os valores.

O cerne da questão está em como o Python trata a iteração sobre dicionários. Um dicionário é uma estrutura de dados que armazena pares chave-valor. Quando você escreve um laço for diretamente sobre o dicionário, como for x in dicionario:, a variável x recebe, a cada iteração, uma chave do dicionário, não o valor associado a ela. Esse é um comportamento padrão e intencional da linguagem, que prioriza a eficiência e a clareza quando se deseja percorrer as chaves.

Para acessar os valores, existem algumas abordagens comuns. A primeira é usar o operador de indexação dicionario[chave] dentro do laço. A segunda, mais elegante e idiomática, é usar o método .items(), que retorna uma visão dos pares chave-valor, permitindo desempacotá-los em duas variáveis no próprio for, como for chave, valor in dicionario.items():. Há também os métodos .keys() e .values(), que retornam visões específicas de chaves ou valores, respectivamente.

A saída apresentada no enunciado tem duas discrepâncias claras. Primeiro, ela mostra os valores das disciplinas ("Algoritmos" e "Estruturas de Dados"), mas a iteração simples sobre o dicionário produziria as chaves. Segundo, ela formata cada disciplina com um hífen e um espaço (- Algoritmos), o que exigiria uma manipulação explícita da string, como print(f"- {disciplina}"). Sem esse código adicional, a saída seria apenas os nomes das chaves, um por linha, sem qualquer prefixo.

A pegadinha aqui é sutil e muito comum em provas: o candidato, ao ler o código, pode assumir que a iteração sobre um dicionário percorre os valores, ou pode não perceber que a formatação com hífen não está presente no código. A banca explora exatamente essa confusão entre percorrer chaves e percorrer valores, e entre a saída crua e uma saída formatada. Para resolver corretamente, é preciso simular mentalmente a execução do laço, lembrando que a variável do for assume o papel de chave.

Guarde este critério: em Python, for x in dicionario itera sobre as chaves. É essa regra que separa a saída real da saída proposta, e é nela que a questão se resolve.

  1. 1for x in dicionario
  2. 2x recebe a CHAVE
  3. 3Valor exige dicionario[x]
  4. 4ou .items() p/ par chave-valor
LEVEL · soulevel.com.br

Item — ❌ ERRADO

A afirmação de que a execução apresentará o resultado com os valores das disciplinas precedidos por hífen está incorreta. O laço for percorre as chaves do dicionário, não os valores. Para obter a saída descrita, o código precisaria de algo como for disciplina in dados["Disciplinas"]: print(f"- {disciplina}"). Como o código não faz isso, a saída real seria apenas as chaves Algoritmos e Estruturas de Dados, sem os hífens e sem os valores.

Gabarito: letra E (ERRADO).

Link permanente: /questoes/ce222023