Enunciado

Considere o seguinte fragmento de código fonte, escrito em linguagem python:

Após a execução de todos os comandos, qual o resultado exibido?

Passo 1

Fala aí! Cara, esse código do enunciado parece meio doido!

Vamos analisar linha por linha o que tá acontecendo nesse programa, ok? Vamo lá, na primeira linha a gente tá criando uma variável chamada “a” e colocando dentro dela um valor numérico, 3.

É muuuito importante você lembrar que o nome da variável não faz parte da variável, ok?! Quando você cria uma variável, você pega um espacinho na memória do computador e salva um valor dentro desse espaço. O nome é só uma forma de você se referir àquele espaço que você criou, beleza?!

Repara que, na ilustração, o “a” não pertence a variável, só aponta pra ela!

Passo 2

Agora, a gente tá criando outra variável chamada “b”. Dentro dela a gente tá colocando o mesmo valor que tinha na variável “a” multiplicado por 2. Então, a memória do nosso programa tá parecida com isso:

Passo 3

Agora, na terceira linha, tem algo interessante acontecendo!

Vamos pensar sobre o uso das vírgulas ali antes de continuar.

Você não é limitado a declarar uma variável por linha. Você pode declarar quantas variáveis você quiser na mesma linha, usando vírgulas pra separar os valores.

Repara que os valores vão ser associados de forma respectiva, ou seja, o primeiro nome da esquerda com o primeiro valor da direita, o segundo com o segundo, etc...

Beleza! Agora vamos voltar ao nosso exercício.

Quando a gente faz “a, b = b,a”, a gente tá dizendo pro nome “a” referenciar o valor de” b” e o nome de “b” referenciar o valor de “a”. Em outras palavras, você tá trocando o nome de duas variáveis.

Uma forma de trocar o nome de duas variáveis sem o uso de vírgulas é usando uma variável temporária. Olha esse exemplo de como fazer a permutação usando variáveis temporárias:

Show! Bora analisar a última linha.

Passo 4

A última linha do código do enunciado tá mandando exibir o valor referenciado pela variável “a”. Vamo dar uma segunda olhada em como ficou a memória depois da gente fazer a troca dos nomes.

Repara que agora “b” aponta pra 3 e “a” aponta pra 6? Então! Isso significa que quando a gente executar esse programa, o comando print() vai exibir o que tá sendo referenciado pela variável “a”, que é 6. Por isso, a resposta é 6.

Te espero no próximo! Valeuu!

Resposta

6

Exercícios Relacionados