Pular para o conteúdo principal

Questão de Programação — Python — FGV 2024

ProgramaçãoPython
Código
fg084717
Banca
FGV
Órgão
EPE
Ano
2024
Nível
Superior
Cargo
Analista de Gestão Corporativa - Tecnologia da Informação (Soluções)
Considere o código a seguir, escrito na linguagem de programação Python (versão 3.11.3).<1> x = {i: i ** 2 for i in range(10,0,-1)}<2> y = sorted(x)<3> z = (x[1], y[0], y[1])Assinale a opção que indica o valor que z recebe na linha <3>.
  1. A(0, 0, 1)
  2. B(0, 1, 2)
  3. C(1, 0, 1)
  4. D(1, 0, 2)
  5. E(1, 1, 2)
Revelar gabarito e comentário

GabaritoE — (1, 1, 2)

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 ordenação em Python

Gabarito: letra E. O dicionário x é criado com chaves de 10 a 1 (valores ao quadrado). sorted(x) retorna a lista de chaves ordenadas crescentemente: [1,2,...,10]. Assim, x[1] = 1, y[0] = 1, y[1] = 2, formando a tupla (1,1,2).

Análise detalhada

Linha 1: {i: i**2 for i in range(10,0,-1)} – percorre i de 10 até 1 (inclusive). O dicionário resultante é:

  • 10: 100, 9: 81, 8: 64, 7: 49, 6: 36, 5: 25, 4: 16, 3: 9, 2: 4, 1: 1

Chaves em ordem de inserção (decrescente), mas isso não afeta sorted.

Linha 2: y = sorted(x)sorted itera sobre as chaves do dicionário e as ordena em ordem crescente. Logo, y = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10].

Linha 3: z = (x[1], y[0], y[1])

  • x[1] → valor associado à chave 1: 1 (pois 1² = 1)

  • y[0] → primeiro elemento da lista: 1

  • y[1] → segundo elemento: 2

  • Resultado: (1, 1, 2)

Alternativas

  • A) (0, 0, 1) – Incorreta. Nenhum valor é 0; a chave 1 não existe? Existe, vale 1.

  • B) (0, 1, 2) – Incorreta. x[1] não é 0; é 1.

  • C) (1, 0, 1) – Incorreta. O primeiro elemento de y é 1, não 0.

  • D) (1, 0, 2) – Incorreta. y[0] é 1, não 0.

  • E) (1, 1, 2) – Correta, conforme calculado.

NÃO CAIA NESSA!

Cuidado: sorted(x) ordena as chaves, não os valores. E x[1] é o valor da chave 1, que é 1 (e não 0). O range começa em 10 e vai até 1, então a chave 1 existe e vale 1.

Gabarito: letra E.

Link permanente: /questoes/fg084717