Informática Múltipla Escolha

Qual é o resultado do seguinte trecho de código?

Qual é o resultado do seguinte trecho de código?

  1. 1 1 2
  2. 1 2 1
  3. 1 2 2
  4. 1 2 2

Resolução completa

Explicação passo a passo

A
Alternativa A

Alternativa A - 1 1 2

Este exercício testa o conhecimento sobre atribuição múltipla (tuple unpacking) em Python, especificamente como o interpretador trata a avaliação do lado direito antes da atribuição.

Passo a Passo da Execução

Para entender o resultado, precisamos analisar o estado das variáveis a cada linha executada:

  1. Linhas 1 e 2: Inicialização básica.
  • x recebe $1$.
  • y recebe $2$.
  • Estado: x=1, y=2.
  1. Linha 3: x, y, z = x, x, y
  • O Python primeiro avalia o lado direito da igualdade usando os valores atuais: (1, 1, 2).
  • Em seguida, distribui esses valores para as variáveis à esquerda na ordem.
  • x recebe $1$.
  • y recebe $1$.
  • z recebe $2$.
  • Estado atual: x=1, y=1, z=2.
  1. Linha 4: z, y, z = x, y, z
  • Crucial: O lado direito é avaliado totalmente antes de qualquer alteração nas variáveis do lado esquerdo.
  • Avaliação do lado direito (x, y, z) com os valores atuais: (1, 1, 2).
  • Atribuição sequencial ao lado esquerdo:
  • Primeiro z recebe $1$.
  • y recebe $1$.
  • Segundo z recebe $2$ (sobrescrevendo o valor anterior).
  • Estado final: x=1, y=1, z=2.

Evolução das Variáveis

LinhaOperaçãoxyz
1x = 11??
2y = 212?
3x, y, z = x, x, y112
4z, y, z = x, y, z112
6print112

Conclusão

A função print(x, y, z) exibe os valores finais separados por espaço, resultando em 1 1 2. Portanto, a primeira alternativa está correta.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Informática

Ver mais Informática resolvidas

Tem outra questão de Informática?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.