Questão de Programação — Linguagens de programação — FGV 2024
Programação›Linguagens 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.Ao final da execução, valor é
A'BRASIL'.
B'SUECIA'.
C'ARROZ'.
D'FAROFA'.
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.