SóProvas


ID
5379802
Banca
CESPE / CEBRASPE
Órgão
MPE-AP
Ano
2021
Provas
Disciplina
Programação
Assuntos

Sabendo que é possível utilizar JSON em programas desenvolvidos em Python, assinale a opção que apresenta o código correto para que, ao final, o script tenha como resultado a impressão do valor do processo, ou seja, 1234, a partir do JSON fornecido.

Alternativas
Comentários
  • Gabarito: A

    Vamos começar pontuando sobre as estruturas. Em todas as alternativas o seguinte trecho de código é repetido:

     import json

     x = '{ "MP":"AP", "Processo":1234, "Cidade":"Macapa"}'

     Na primeira linha - import json - estamos importando o módulo responsável por trabalhar com json. Em seguida criamos um dicionário, x, e o preenchemos com chaves - MPProcessoCidade - e valores - AP1234Macapa

     Obs. Um dicionário é composto de um conjunto de chaves e valores, que podemos chamar de propriedades de acesso. Em Python, todo dicionário estará entre chaves { }.

     Continuando nossa análise dos códigos, vamos observar as letras C, D e E.

     Na letra C temos o seguinte trecho: y = json.index(x). O método index é utilizado quando queremos saber em que posição da lista um elemento está.

     Na letra D, nos é apresentado o seguinte código: y = json.split(x). O método split é utilizado, de forma nativa no Python, quando queremos desmembrar uma string. Você informa um texto, por exemplo, como valor de string e esse método o fatia quebrando o texto em vários pedaços. 

     Na letra E temos: y = json.lambda(x). Em Python, lambda é um recurso que utilizamos para criar funções anônimas, que são as que realizam "serviços" simples.

     Como a questão quer como saída todo o valor presente na chave Processo, nenhuma das alternativas acima é capaz de gerar isso, portanto podemos descartá-las.

    Feitas essas pontuações, vamos às letras A e B. Começando pela letra B, por questões de logística.

     Na letra B temos o método dump. Esse método é responsável por serializar um objeto. Esse método possui suporte à escrita, .write( ), e sua missão é, basicamente, receber valores.

     Já na letra A, o método presente é o loads. Esse método é responsável por desserializar um objeto. Esse método possui suporte à leitura, .read( ), e sua missão é, basicamente, imprimir valores.

     Portanto, como nossa missão, é encontrar a alternativa em que teremos como saída o valor presente em processo, vamos ter na letra A essa missão.

     Vamos observar o seguinte trecho de código: 

     y = json.loads(x)

     print(y["Processo"])

     Na primeira linha - y = json.loads(x) - a variável y carrega em si todos os valores presentes em um dicionário e fica aguardando informar a chave que deverá buscar o valor. 

     Na segunda linha - print(y["Processo"]) - o comando print manda a variável y imprimir o valor que está carregado na chave Processo, que ao final da execução nos dá como saída o valor 1234.

     Só para fechar, se no lugar da chave Processo fosse passado a chave MP, o resultado final seria AP e caso a chave passada fosse Cidade o resultado seria o valor Macapa.

     Com isso, nosso gabarito é a letra A

    "Faça da dificuldade a sua motivação."

  • aidento

  • Macho que é mesmo que eu tô fazendo aqui?

  • Acho muito chique quem sabe responder isso ( sem ser no chute) .

  • Para ser polícia precisa saber isso tudo mesmo? kkkkkk. lembrando que esse conteúdo é cobrado em diversos concursos policiais.