← Questões de Programação

Programação · FGV · 2024

Questão comentada de 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 é:

Gabarito: E

Aqui a ideia central é simples: o comando json.loads(x) transforma a string JSON em um dicionario do Python. Depois disso, len(y) conta quantas chaves existem no dicionario, e nao quantos itens ha dentro da lista brinquedo. Como o objeto tem as chaves nome, idade e brinquedo, o tamanho de y e 3. A pegadinha mora justamente ai: muita gente olha para a lista e pensa que o len vai contar os elementos de brinquedo, mas ele esta sendo aplicado ao dicionario y. Em Python, os indices de lista comecam em 0, entao a lista ['Carro', 'Bola', 'Trem', 'Barco', 'Urso'] fica assim: 0, 1, 2, 3, 4. Como z vale 3, a expressao y["brinquedo"][int(z)] acessa o elemento de indice 3 da lista, que e "Barco". Por isso, o resultado impresso pelo codigo e a alternativa E. Resumo de prova: json.loads converte JSON em estrutura Python, len(dicionario) conta chaves e indice de lista em Python sempre comeca do zero. Se voce lembrar disso, a questao para de parecer uma armadilha e vira conta de feira.

Continue treinando

Questões relacionadas