Observe o seguinte código escrito em Python.import jsonx = '...

Próximas questões
Com base no mesmo assunto
Q2398317 Programação

Observe o seguinte código escrito em Python.


import json

x = '{"nome":"Junior", "idade":5,

"brinquedo":["Carro", "Bola", "Trem", "Barco",

"Urso"]}';

y = json.loads(x)

z = len(y)

print(y["brinquedo"][int(z)])


O resultado da execução do código Python apresentado é: 

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: E - Barco

Vamos analisar o código passo a passo para entender o porquê da alternativa E ser a correta:

Primeiramente, o código realiza a importação do módulo json, que é utilizado para trabalhar com dados no formato JSON (JavaScript Object Notation), o que é bastante comum em diversas aplicações, principalmente em APIs e configurações.

A variável x é uma string que representa um objeto JSON contendo um nome, uma idade e uma lista de brinquedos. O método json.loads() é utilizado para converter essa string em um dicionário Python, atribuindo-o à variável y. Isso permite que acessemos os dados do JSON como um dicionário comum em Python.

A variável z recebe o valor da função len() aplicada ao dicionário y. A função len() retorna o número de chaves no dicionário, que no caso é 3 ('nome', 'idade' e 'brinquedo').

Por fim, o comando print() é utilizado para exibir o elemento da lista associada à chave 'brinquedo' no índice int(z). Aqui é onde muitas pessoas podem se confundir: o índice passado para acessar a lista é o valor de z, que como vimos é 3. No entanto, listas em Python são indexadas a partir de 0, portanto o índice 3 corresponde ao quarto elemento da lista, que é "Barco".

Portanto, a execução do código imprimirá o elemento na posição 3 da lista de brinquedos, que é Barco.

Esse tipo de questão requer conhecimento em manipulação de JSON em Python, compreensão de estruturas de dados como dicionários e listas, e atenção ao detalhe na indexação de listas, que sempre começa em 0.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

A função y = json.loads(x) irá converter a variável x do tipo string para o tipo dicionário.

Isso torna possível eu calcular o tamanho da variável y em parâmetros de dados mencionados no dicionário (eu tenho 1º 'nome', 2º 'idade' e 3º 'brinquedo'.

Note que caso a função json.loads( ) não fosse utilizada, e se eu calculasse o tamanho da variável y, ele me retornaria o número de caracteres da string:

'{"nome":"Junior", "idade":5,"brinquedo":["Carro", "Bola", "Trem", "Barco","Urso"]}' possui 82 caracteres.

Porém, como a variável y agora é do tipo dicionário, o tamanho da variável y é 3, pois eu tenho 3 parâmetros.

Por fim, a função print(y["brinquedo"][int(z)]) pode ser vista como print(y["brinquedo"][3]), e retornará a 4 palavra do dicionário brinquedo, visto que em python a contagem começa de 0.

0 = carro

1 = bola

2 = trem

3 = barco

para mais testes, recomendo utilizar o compilador online https://www.programiz.com/python-programming/online-compiler/ e executar o código

import json

x = '{"nome":"Junior", "idade":5,"brinquedo":["Carro", "Bola", "Trem", "Barco","Urso"]}'

print('tipo variável x = ', type(x))

w = len(x)

print('w =', w)

y = json.loads(x)

print('tipo variável y = ',type(y))

z = len(y)

print('z =', z)

print(y["brinquedo"][int(z)])

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo