Considere o seguinte código em Python abaixo. Qual será o valor impresso na linha 9? Justifique.
- valor
-
- while valor < 10:
-
valor
- valor = valor - 3
- if valor < 2:
- break
-
Passo 1
Beleza, vamos resolver esse exercício juntos! A gente tem um código em Python e precisa descobrir qual número ele vai imprimir na linha 9. Para isso, vamos usar conceitos de estruturas de repetição (como o
while
) e controle de fluxo (usando o break
). Vamos analisar passo a passo o que o código faz para chegar à resposta final.Passo 2
Primeiro, vamos dar uma olhada no valor inicial das variáveis:
valor = 8
: Isso significa que começamos com o número 8.x = 1
: Aqui,x
começa com 1.
Passo 3
O próximo passo é entender o laço
while
. A condição while valor < 10:
diz que enquanto o valor
for menor que 10, o código dentro do laço vai rodar. No nosso caso, como valor
começa com 8, que é menor que 10, vamos entrar no laço.Passo 4
Dentro do laço, temos
x = x * valor
. Isso significa que a gente vai multiplicar o valor atual de x
pelo valor atual de valor
e armazenar o resultado de volta em x
. Então, na primeira vez que isso acontece:Agora,
x
vale 8.Passo 5
Depois, o código faz
valor = valor - 3
. Então, vamos subtrair 3 do valor
atual:Agora,
valor
vale 5.Passo 6
Tem também a condição
if valor < 2: break
. Isso significa que se valor
for menor que 2, o laço para de rodar. No nosso caso, valor
é 5, que não é menor que 2, então continuamos no laço.Passo 7
Vamos de novo para o início do
while
com o novo valor de valor = 5
. A condição 5 < 10
ainda é verdadeira, então rodamos o laço outra vez:Agora,
x
vale 40 e valor
vale 2.Passo 8
Chegamos de novo na condição
if valor < 2: break
. Agora, valor
é 2. Como 2 não é menor que 2, o laço continua.Passo 9
Voltamos ao
while
com valor = 2
. A condição 2 < 10
ainda é verdadeira:Agora,
x
vale 80 e valor
vale -1.Passo 10
Dessa vez, a condição
if valor < 2: break
é verdadeira porque -1 < 2
. Então, o laço para.Resposta
O valor impresso na linha 9 será 80.