FC ConcursosFC Concursos

Questão FC331139

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]) As

Linguagens de Programação

FGV · 2024

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. (0, 0, 1)
  2. (0, 1, 2)
  3. (1, 0, 1)
  4. (1, 0, 2)
  5. (1, 1, 2)
Mostrar resposta e comentário

Gabarito

Errado

Comentário do professor

Na linha <1> é criado um dicionário por comprehension: {i: i ** 2 for i in range(10,0,-1)}. O gerador range(10,0,-1) produz os valores 10,9,...,1, e cada entrada mapeia a chave i para o valor \(i^2\). Assim, a chave 1 existe e seu valor é \(1^2=1\).

Na linha <2> a chamada sorted(x) recebe o dicionário x. Quando ordenamos um dicionário, o resultado é uma lista das chaves em ordem crescente: [1,2,3,...,10].

Finalmente, na linha <3> monta-se a tupla z como (x[1], y[0], y[1]). Aqui x[1] acessa o valor associado à chave 1 em x (que é 1); y[0] e y[1] são os primeiros dois elementos da lista de chaves ordenadas (1 e 2). Portanto z = (1, 1, 2).

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo