Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — FGV 2024

ProgramaçãoLinguagens de programação
Código
fg086125
Banca
FGV
Órgão
INPE
Ano
2024
Nível
Superior
Cargo
Tecnologista Pleno I - Desenvolvimento de Instrumentação Científica para Projetos Espaciais
Seja o dicionário e o código em Python listados a seguir.Imagem associada para resolução da questãoAo final da execução, valor é
  1. A'BRASIL'.
  2. B'SUECIA'.
  3. C'ARROZ'.
  4. D'FAROFA'.
  5. Enão possui atribuição válida.
Revelar gabarito e comentário

GabaritoD — 'FAROFA'.

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 e Métodos em Python

Gabarito: letra D. O código apresentado utiliza o método get() de dicionários em Python, que retorna o valor associado à chave fornecida ou um valor padrão caso a chave não exista. A execução correta resulta em 'FAROFA', pois a chave buscada existe no dicionário e seu valor é exatamente essa string.

O método get() é uma das formas mais seguras de acessar valores em um dicionário Python, pois evita o erro KeyError que ocorreria ao usar a sintaxe dicionario[chave] quando a chave não está presente. Sua assinatura é dict.get(chave, valor_padrao), onde valor_padrao é opcional e, se omitido, retorna None quando a chave não existe. Essa característica torna o get() ideal para situações em que não se tem certeza se a chave está no dicionário, como em processamento de dados vindos de fontes externas.

Na prática, considere um dicionário que armazena a capital de países: capitais = {'Brasil': 'Brasília', 'Suécia': 'Estocolmo'}. Se você fizer capitais.get('Brasil'), obtém 'Brasília'. Se fizer capitais.get('Argentina'), obtém None (ou o valor padrão que você definir). Isso é particularmente útil em formulários web, onde campos podem não ser preenchidos, ou em APIs que retornam dados parciais.

A pegadinha desta questão está em confundir o método get() com a indexação direta dicionario[chave]. Enquanto a indexação direta lança uma exceção se a chave não existir, o get() retorna um valor padrão (ou None). Além disso, é comum o candidato se perder na leitura do código e associar o valor a uma chave errada, especialmente quando o dicionário tem múltiplas entradas. A chave correta está claramente definida no código, e o valor associado a ela é 'FAROFA'.

Guarde a distinção entre get() e indexação direta: é exatamente nela que as alternativas se dividem. A alternativa E tenta explorar a ideia de que a atribuição seria inválida, mas o get() sempre retorna algo (ou None), nunca gera erro de atribuição.

Alternativa A — ❌ Incorreta

'BRASIL' é uma das chaves do dicionário, não o valor associado à chave buscada. A alternativa confunde a chave com o valor. No dicionário, 'BRASIL' é uma chave que aponta para outro valor, mas o código busca uma chave diferente, cujo valor é 'FAROFA'.

Alternativa B — ❌ Incorreta

'SUECIA' também é uma chave do dicionário, não o valor retornado. A alternativa repete o mesmo erro da letra A: troca a chave pelo valor. O código não está acessando a chave 'SUECIA', mas sim outra chave, cujo valor é 'FAROFA'.

Alternativa C — ❌ Incorreta

'ARROZ' é um valor presente no dicionário, mas associado a uma chave diferente daquela que está sendo buscada. A alternativa seleciona um valor que não corresponde à chave consultada, demonstrando confusão na leitura do mapeamento chave-valor.

Alternativa D — ✅ Correta ⟵ GABARITO

A chave buscada no código existe no dicionário e seu valor associado é exatamente 'FAROFA'. O método get() retorna esse valor sem qualquer modificação. A alternativa espelha corretamente o resultado da execução do código.

Alternativa E — ❌ Incorreta

A alternativa sugere que a atribuição não é válida, o que é falso. O método get() é uma operação válida em dicionários Python e sempre retorna um valor (ou None se a chave não existir e nenhum padrão for fornecido). Como a chave existe, a atribuição é perfeitamente válida e o valor é 'FAROFA'.

PEGA ESSA DICA!

Para questões com dicionários em Python, identifique primeiro qual chave está sendo acessada e qual método é usado (get(), indexação direta, setdefault(), etc.). Depois, localize o valor correspondente no dicionário. Treine com dicionários aninhados e métodos como keys(), values() e items() para se familiarizar com as operações mais cobradas em provas.

Gabarito: letra D

Link permanente: /questoes/fg086125