Questão nº 120
Questão de Contábil-Financeira · CEBRASPE PF 2025 (nº 120)
No que se refere a processamento de linguagem natural, árvores de decisão e Python, julgue os itens que se seguem.
dados = [3, 7, 0, -1, 7]
resultado = {}
for i in range(len(dados)):
if dados[i] > 0:
chave = f"v_{i}"
if dados[i] not in resultado.values():
resultado[chave] = dados[i]
else:
resultado[chave] = -dados[i]
elif dados[i] == 0:
continue
else:
resultado[f"neg_{i}"] = abs(dados[i])
print(resultado)
A execução do código Python precedente resulta no trecho a seguir.
{'v_0': 3, 'v_1': 7, 'v_3': -1}
Resposta comentada
O código percorre a lista dados e, para cada elemento, cria uma chave no dicionário resultado. A pegadinha está no else interno: quando um número positivo já existe como valor no dicionário, ele é armazenado como negativo (ex: 7 vira -7), e não simplesmente ignorado ou substituído. Além disso, o elif dados[i] == 0 faz o continue, pulando o zero, e o else externo trata negativos com abs().
- Correta: Errado. O trecho final impresso não é
{'v_0': 3, 'v_1': 7, 'v_3': -1}, pois o segundo7(índice 4) entra noelseinterno e gera'v_4': -7, e o-1(índice 3) entra noelseexterno gerando'neg_3': 1. O item diz que o resultado é "o trecho a seguir", mas o trecho mostrado omite essas duas chaves.
Como ficaria certo: A execução resulta em {'v_0': 3, 'v_1': 7, 'v_3': -1, 'v_4': -7, 'neg_3': 1} — ou seja, o trecho exibido no item está incompleto e, por isso, errado.
Fonte: CEBRASPE PF 2025 Perito Criminal Federal - Contábil-Financeira. Reproduzida para fins de estudo.