Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Comando while, variáveis 
contadoras e acumuladoras 
(utilizando a linguagem Python)
Apresentação
Muitas vezes um trecho de código precisa ser executado repetidas vezes. A linguagem de 
programação Python contém estruturas/laços de repetição, como o while, que possibilitam repetir 
uma ação inúmeras vezes e, caso o código não seja bem estruturado, criar até um laço infinito. A 
estrutura de repetição while executa um trecho de código enquanto o teste lógico (condição) for 
verdadeiro e, quando for falso, a repetição se encerra. 
Nesta Unidade de Aprendizagem, você vai conhecer o laço de repetição while e como trabalhar 
com as variáveis contadoras e acumuladoras para controlar o laço. Em seguida, você verá como 
verificar o funcionamento do laço de repetição por meio do teste de mesa. E, por fim, resolverá 
problemas computacionais utilizando o while. 
Bons estudos.
Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados:
Descrever o comando while, variáveis contadoras e acumuladoras. •
Realizar testes de mesa em problemas que utilizem o comando while, variáveis contadoras e 
acumuladoras.
•
Resolver problemas computacionais utilizando o comando while e as variáveis contadoras e 
acumuladoras. 
•
Desafio
Muitas aplicações em programação necessitam de um menu de opções para se comunicar com 
usuário. O menu interage com o usuário solicitando as informações que deverão ser inseridas no 
programa e devolvendo respostas na tela do computador. Nesse contexto, uma aplicação 
interessante do uso de menu de opções é criar uma calculadora para interagir com o usuário.
Você trabalha como desenvolvedor de software de uma empresa multinacional que negocia 
criptomoedas. Seu gerente de software, a pedido dos clientes, solicitou que você implemente uma 
nova funcionalidade no sistema: um menu que contenha uma calculadora para converter 
criptomoeda em reais e vice-versa. Além da conversão entre moeda, é requisitado que a 
calculadora tenha um menu interativo, como mostrado na figura a seguir: 
Sendo assim, desenvolva um código em Python que atenda a solicitação do seu gerente, utilizando a 
estrutura de repetição que você aprendeu nesta unidade de aprendizagem, ou seja, o while. 
Infográfico
Laços de repetição podem ser, no primeiro momento, um pouco complicados para entender. Isso, 
porque as estruturas de repetição, como o comando while, alteram o fluxo linear de um programa e 
permitem implementar uma determinada lógica que repete um trecho de programa enquanto uma 
condição especificada for verdadeira. 
No Infográfico a seguir, você vai visualizar alguns passos para melhorar o seu aprendizado ao 
estudar laços de repetição while na linguagem de programação Python. 
 
Aponte a câmera para o 
código e acesse o link do 
conteúdo ou clique no 
código para acessar.
Conteúdo do Livro
A linguagem Python contém estruturas de repetição que permitem executar trechos de código 
quantas vezes forem necessárias. Uma dessas estruturas é o laço while (tradução "enquanto"), que 
possibilita criar loops para executar uma ou mais instruções, enquanto uma determinada condição 
for verdadeira.
Leia o capítulo Comando while, variáveis contadoras e acumuladoras (utilizando a linguagem 
Python), da obra Pensamento Computacional, para compreender o funcionamento desse laço de 
repetição e veja alguns exemplos de aplicações práticas utilizando esse comando. 
 
Boa leitura!
PENSAMENTO 
COMPUTACIONAL
Fernando Esquírio Torres
Comando while, 
variáveis contadoras e 
acumuladoras (utilizando 
a linguagem Python)
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:
 � Descrever o comando while e as variáveis contadoras e acumuladoras.
 � Realizar testes de mesa em problemas que utilizem o comando while 
e as variáveis contadoras e acumuladoras.
 � Resolver problemas computacionais utilizando o comando while 
e as variáveis contadoras e acumuladoras.
Introdução
Neste capítulo, você vai estudar a estrutura de repetição while e enten-
der como funcionam as variáveis contadoras e acumuladoras, necessárias 
para controlar os laços de repetição e acumular valores de variáveis, 
respectivamente. Em seguida, você vai aprender como verificar o fluxo 
de repetição do laço while por meio de um teste de mesa. Por fim, você 
vai compreender como utilizar esse laço de repetição para solucionar 
problemas computacionais.
Laços de repetição while
Imagine que você é um programador e está desenvolvendo um programa em 
Python para ler as notas de três alunos. A solução proposta por você é imple-
mentar três linhas de código com o comando input() para fazer a leitura 
dessas notas, como demonstra a Figura 1.
Figura 1. Programa para ler as notas de três alunos.
O código implementado na Figura 1 resolve satisfatoriamente seu problema 
para a leitura de três notas. Porém, se o problema possuir uma escala maior, 
como ler as notas de 50 alunos, não será uma boa prática de programação 
escrever 50 linhas de código com o comando input() para a leitura de todas 
essas notas. Uma solução mais profissional e recomendada nesse caso é a 
utilização de uma estrutura que possa repetir a leitura da nota quantas vezes 
for necessário. Essa estrutura, amplamente utilizada em programação para nos 
auxiliar nesse tipo de problema, é chamada de laço ou estrutura de repetição. 
Ela permite a repetição de um bloco de código enquanto uma determinada 
condição for verdadeira, evitando a escrita recorrente de trechos de código.
Os laços (loops) de repetição são utilizados para repetir blocos de código 
específicos por um certo número de vezes ou até que uma condição seja atin-
gida, conforme leciona Banin (2018). A primeira estrutura de repetição que 
você vai estudar é o while. Porém, antes de aprender sobre esse assunto, é 
necessário que você compreenda o que são blocos de instrução, tema importante 
a ser abordado neste momento.
Blocos de instrução
Segundo Ramalho (2015), os blocos de instrução são um conjunto de comandos 
pertencentes a uma função, uma estrutura condicional, um laço de repetição, 
etc. Na maioria da linguagens de programação, os blocos são delimitados por 
abertura ( { ) e fechamento ( } ) de chaves ({ }). Porém, na linguagem Python, 
os blocos de instrução são delimitados pela indentação do código, ou seja, 
o recuo aplicado ao código fonte em relação à sua margem, a fim de tornar o 
código mais legível e facilitar o reconhecimento de sua estrutura (Figura 2).
Comando while, variáveis contadoras e acumuladoras (utilizando a linguagem Python)2
Figura 2. Delimitação do bloco de instruções (a) na linguagem C e (b) em Python.
(a)
(b)
Na Figura 2a, que mostra um código implementado na linguagem C, é 
possível observar que o conjunto de instrução (bloco) que pertence ao laço 
de repetição while está delimitado pelas chaves { } e que o comando 
printf (utilizado na linguagem C para imprimir dados na tela), que está 
fora da área delimitada pelas chaves, não pertence a esse bloco. Na Figura 2b, 
em Python, é possível ver que o que define o conjunto de instrução do 
laço while é a indentação do código à direta. Os comandos de impressão 
(print('Mensagem impressa')) e de incremento (i+=1) apresentam 
um espaço (semelhante a um parágrafo), que identifica o bloco de instruções 
pertencente ao laço while. O segundo print, alinhado ao comando while, 
já está fora do bloco de instruções.
3Comando while, variáveis contadoras e acumuladoras (utilizando a linguagem Python)
Comando while
Segundo Barry (2018), o laço de repetição while (“enquanto”, em inglês) 
permite repetir um conjunto de instruções enquanto a condição testada for 
verdadeira. Essa condição, que é sempre testada no início do laço, contém 
uma expressão booleana que pode assumir o valor de verdadeira ou falsa. O 
f uxograma da Figura 3 mostra o funcionamento do comando while, em 
que a condição é testada antes de iniciar a iteração do laço; enquanto ela for 
verdadeira,o loop será repetido.
Figura 3. Fluxograma do laço while.
A sintaxe do comando while é:
#inicialização da variável contadora
while condição:
#sequência de comando(s) executado(s) no corpo do while
 comando _ 1
 comando _ 2
 ...
 comando _ n
#incremento ou decremento da variável contadora
Comando while, variáveis contadoras e acumuladoras (utilizando a linguagem Python)4
Variável contadora 
No comando while, a variável contadora é utilizada como controle do 
laço; ela determina o número de vezes que o conjunto de instruções do laço 
while será executado. Ela deve ser inicializada antes do comando while e 
ser incrementada ou decrementada dentro do bloco de instrução do comando 
while, de modo que a condição se torne falsa quando o número de repetições 
desejadas for atingido. 
Incrementar é somar uma quantidade do valor atual de uma variável. Decrementar é 
diminuir uma quantidade do valor atual de uma variável.
Fique atento a essa questão, pois, do contrário, você pode criar um loop 
infinito indesejado, conforme aponta Borges (2014).
O exemplo da Figura 4 traz o laço de repetição while utilizando uma variável con-
tadora, que incrementa o seu valor a cada execução do loop. O bloco de instruções 
dentro do laço é repetido três vezes.
(a)
(b)
Figura 4. (a) Laço de repetição while com incremento da variável contadora e (b) resultado 
da execução do código.
5Comando while, variáveis contadoras e acumuladoras (utilizando a linguagem Python)
O código da Figura 4a inicializa, fora do laço de repetição, a variável contadora de 
controle, nomeada nesse exemplo como cont, que recebe valor 1. O teste lógico no 
comando while é cont=1, ou seja, 
o laço vai repetir o bloco de instruções enquanto a variável cont for maior ou igual 
a 1. Assim, a condição de parada do laço acontece quando cont assumir um valor 
menor do que 1. Nesse exemplo, o bloco de instruções possui dois comandos: a função 
print(), para imprimir a mensagem na tela, e o decremento de uma unidade da 
variável contadora, (cont-=1). O resultado da execução desse código é mostrado na 
Figura 5b, em que podemos averiguar que o bloco do comando while é executado 
e imprime a mensagem de dentro do laço cinco vezes.
Instruções break e continue
O comando break, quando utilizado dentro de um laço de repetição, serve 
para interromper a repetição, encerrando a execução do loop e, em seguida, 
saltando para a linha de código imediatamente após o bloco de instruções do 
laço, conforme leciona Perkovic (2016).
O exemplo mostrado na Figura 6 traz o laço de repetição infinito, que é um laço que 
apresenta uma condição de teste sempre verdadeira, implementado com while. Ele 
contém o valor True (Verdadeiro) como teste lógico e a estrutura condicional if 
para determinar quando executar o comando break e encerrar a execução do loop.
O código da Figura 6a é um loop infinito, pois a condição do comando while é 
sempre verdadeira (True); assim, não há uma condição de parada. A variável conta-
dora de controle cont é inicializada fora do laço com o valor 1; em toda a execução 
do loop, ela é incrementada de uma unidade no comando cont+=1 e testada na 
estrutura condicional if (cont>3). Quando o valor de cont for maior do que 3, 
o teste lógico da estrutura condicional if é verdadeiro e, então, o comando break 
é executado, parando o laço de repetição while. O resultado da execução desse 
código é mostrado na Figura 6b, em que é possível perceber que o comando while 
imprime a mensagem dentro do laço três vezes, semelhante ao exemplo da Figura 4.
7Comando while, variáveis contadoras e acumuladoras (utilizando a linguagem Python)
(a)
(b)
Figura 6. (a) Laço de repetição while com instrução break e (b) resultado da execução 
do código.
O comando continue interrompe o fluxo de execução do laço de repe-
tição. Porém, ele avança para a próxima execução do loop, conforme explica 
Perkovic (2016).
O exemplo mostrado na Figura 7 traz o laço de repetição while e a estrutura con-
dicional if para determinar quando executar o comando continue e saltar para a 
nova execução do loop. Ou seja, se a condição do if for verdadeira, o continue é 
executado e o loop retorna ao início, ignorando as próximas linhas de código.
Comando while, variáveis contadoras e acumuladoras (utilizando a linguagem Python)8
(a)
(b)
Figura 7. (a) Laço de repetição while com instrução continue e (b) resultado da 
execução do código.
O código da Figura 7a apresenta o while com a variável contadora de controle 
cont, que é inicializada fora do laço com o valor 1. A cada execução do loop, ela é 
incrementada de uma unidade no comando cont+=1 e testada na estrutura condi-
cional if (cont%2==1), que testa se um valor é ímpar, isto é, se o resto da divisão de 
cont/2 é igual a 1. Se a condição for verdadeira, o comando continue é executado, 
pulando a linha do comando print (cont) e iniciando a próxima execução do 
laço de repetição. O resultado da execução desse código é mostrado na Figura 7b. Ao 
final, verificamos que o comando while imprime os números pares positivos até 10.
Teste de mesa para o laço de repetição while 
O teste de mesa é uma técnica utilizada para verificar manualmente o fluxo de 
execução de um programa, sem utilizar o computador e necessitando apenas 
de papel e caneta, conforme aponta Barry (2018). Esse teste é útil para verificar 
erros de lógica e, geralmente, é utilizado quando não existe uma ferramenta 
automatizada de debug ou de simulação para verificar o funcionamento do 
código implementado.
9Comando while, variáveis contadoras e acumuladoras (utilizando a linguagem Python)
Como o teste de mesa é uma avaliação manual do funcionamento do pro-
grama, seu escopo deve ser muito bem definido, para que o desenvolvedor 
consiga rastrear os estados de todas as variáveis observadas. Em programas 
maiores, esse tipo de teste pode ser feito em blocos, testando, por exemplo, o 
comportamento das variáveis dentro do laço de repetição while.
A configuração dos testes de mesa depende fortemente da função do código 
implementado e do tipo de lógica que se pretende avaliar. De forma geral, 
segundo Slatkin (2015), para realizar o teste de mesa, é necessário seguir os 
seguintes passos:
1. Indicar as variáveis, os testes lógicos e/ou os resultados de operações
que serão rastreadas no teste de mesa.
2. Criar uma tabela com linhas e colunas, em que as colunas serão os
elementos rastreados, que foram identificados no primeiro passo, e
as linhas serão enumeradas de acordo com as instruções observadas/
executadas durante o teste de mesa.
3. Percorrer o trecho de código a ser testado linha por linha, preenchendoa tabela com os valores atualizados dos elementos rastreados ao final
da execução de cada linha observada.
4. Executar o terceiro passo do teste até o final do trecho de código que
se deseja verificar.
No laço de repetição while, o teste de mesa verifica o seu funcionamento, 
atualizando o conteúdo dos elementos rastreados a cada reinício do loop. Dentro 
de um laço de repetição while, os elementos que poderão ser rastreados são
número de iteração/repetição do while, status da condição testada, conteúdo 
das variáveis contadora e acumuladora (se houver), entre outros. A Figura 8 
mostra o laço de repetição que soma o 10 primeiros números positivos (Figura 
8a) e o teste de mesa desse código (Figura 8b). 
Comando while, variáveis contadoras e acumuladoras (utilizando a linguagem Python)10
Figura 8. (a) Teste de mesa do comando while e (b) tabela com teste de mesa do código.
(a)
(b)
O teste de mesa da Figura 8b mostra a mensagem impressa com os elemen-
tos rastreados: o número da iteração/repetição do laço de repetição while,
o status da condição testada e os conteúdos das variáveis contadora cont
e acumuladora soma a cada reinício do loop. Na primeira vez que o laço
de repetição é executado, a condição testada é verdadeira, a variável cont
contém o valor 1 e a soma do valor acumulado é 1. Na segunda repetição do
laço, a condição testada ainda é verdadeira, o conteúdo da variável cont é 
incrementado de uma unidade, por causa da execução do comando da linha 
9 (Figura 8a), cont+=1, e o conteúdo da variável soma é atuaizado para 3. 
Isso porque é acumulado o valor anterior (1) dessa variável, sendo somado 
com o valor atual da variável cont (2), por meio do comando da linha 6 
(Figura 8a), soma += cont. À medida que cada iteração/repetição do laço 
while ocorre, a variável contadora cont é incrementada em uma unidade,
e a variável soma acumula o valor do somatório dos n números. O teste de
mesa é realizado até que a condição lógica do laço while assume o valor 
False (última linha da Figura 8b).
11Comando while, variáveis contadoras e acumuladoras (utilizando a linguagem Python)
Variável acumuladora 
Variáveis acumuladoras são comumente empregadas em laços de repetição. 
Sua função é acumular um determinado valor a cada iteração/repetição do 
loop. Dessa forma, o valor da variável acumuladora é somado com um valor 
numérico ou com o conteúdo de outra variável, conforme leciona Matthes 
(2016).
O código mostrado na Figura 8a possui um laço while com uma variável 
acumuladora soma. Essa variável acumula o seu próprio valor anterior, mais 
outro valor ou o valor de uma variável (no caso, a variável cont), acumulando, 
assim, o valor somado a cada iteração do while.
Aplicações práticas utilizando o laço de 
repetição while
Existem diversas aplicações para o laço de repetição while. Dentre elas, 
pode-se citar a criação de menus interativos para se comunicar com o usuário e 
a impressão de uma sequência numérica, como fatorial, somatório e produtório 
de números, progressões aritmética e geométrica, sequência de Fibonacci, 
entre outros, conforme expõe Downey (2016).
Sequência de Fibonacci
Segundo Matthes (2016), a sucessão ou sequência de Fibonacci é uma sequência 
numérica em que os dois primeiros números têm valor F0= 0 e F1= 1 e os outros 
números da sequência são calculados pela equação Fn = F(n-1) + F(n-2). Assim, o ter-
ceiro elemento é calculado por F3 = F2 + F1 = 1, o quarto elemento é F4 = F3 + F2 = 2, 
o quinto é F5 = F4 + F3 = 3, e assim por diante. O código da Figura 9 mostra 
um programa da sequência de Fibonacci, em que o usuário escolhe quantos 
elementos da sequência ele quer imprimir.
O código da Figura 9 possui dois comandos while, sendo que o primeiro 
controla a continuidade de execução do programa. Ele repetirá o cálculo da 
sequência de Fibonacci (comando a, b = b, a+b) até que o usuário digite 
um valor diferente de 1; caso o usuário digite o valor 0, a variável de controle 
é atualizada, e é encerrada a execução do programa. O segundo comando 
while é responsável por calcular e imprimir os elementos da sequência de 
Fibonacci conforme a quantidade de números escolhida pelo usuário.
Comando while, variáveis contadoras e acumuladoras (utilizando a linguagem Python)12
Figura 9. (a) Método format() para strings e (b) um resultado da formatação.
(a)
(b)
Calculadora simples com menu interativo
O laço de repetição while também é utilizado na construção de menus intera-
tivos, que servem para comunicar ao usuário informações importantes, como 
orientações de funcionamento, ajuda, inserção de dados ou encerramento do 
programa, conforme aponta Slatkin (2015). A aplicação da Figura 10 mostra 
como construir um menu interativo para uma calculadora, que faz diversas 
operações entre dois números reais. 
13Comando while, variáveis contadoras e acumuladoras (utilizando a linguagem Python)
Figura 10. Calculadora simples com um menu interativo.
Comando while, variáveis contadoras e acumuladoras (utilizando a linguagem Python)14
A calculadora da Figura 10 possui um laço de repetição while sempre 
verdadeiro (while True:), permitindo que o menu interativo seja apresentado 
ao usuário até que o teste lógico da estrutura condicional (if (controle 
== 7):) seja verdadeiro. Essa condição do if só será verdadeira se o usuário 
escolher a opção 7; então, a instrução break será executada, finalizando o 
laço de repetição. Quando o usuário escolhe outra opção (de 1 a 6), a estrutura 
condicional composta if-elif interage com o usuário, solicitando a entrada 
do(s) valor(es) numérico(s) e realizando a operação matemática escolhida.
BANIN, S. L. Python 3: conceitos e aplicações: uma abordagem didática. São Paulo: 
Érica, 2018. 264 p.
BARRY, P. Use a cabeça! Python. 2. ed. Rio de Janeiro: Alta Books, 2018. 616 p. (Série Use 
a Cabeça/Head First).
BORGES, L. E. Python para desenvolvedores: aborda Python 3.3. São Paulo: Novatec, 
2014. 320 p.
DOWNEY, A. B. Pense em Python: pense como um cientista da computação. São Paulo: 
Novatec, 2016. 312 p.
MATTHES, E. Curso intensivo de Python: uma introdução prática e baseada em projetos 
à programação. São Paulo: Novatec, 2016. 656 p.
PERKOVIC, L. Introdução à computação usando Python: um foco no desenvolvimento 
de aplicações. Rio de Janeiro: LTC, 2016. 516 p.
RAMALHO, L. Python fluente. São Paulo: Novatec, 2015. 800 p.
SLATKIN, B. Python eficaz: 59 maneiras de programar melhor em Python. São Paulo: 
Novatec, 2015. 296 p.
Leituras recomendadas
HETTINGER, R.; CARROLL, W. I. Python Enhancement Proposal (PEP) 315: Enhanced 
while loop. Python Software Foundation, Wilmington, 2003. Disponível em: https://
www.python.org/dev/peps/pep-0315/. Acesso em: 3 jun. 2019.
LABAKI, J. Testes, loops, varreduras e erros. In: LABAKI, J. Introdução a Python: módulo 
A. Ilha Solteira: Departamento de Engenharia Mecânica, Universidade Estadual Pau-
lista “Júlio de Mesquita Filho”, 2004. p. 29–46. Disponível em: https://www.dcc.ufrj.
br/~fabiom/mab225/pythonbasico.pdf. Acesso em: 3 jun. 2019.
15Comando while, variáveis contadoras e acumuladoras (utilizando a linguagem Python)
PINA JÚNIOR, J. C.; MORIMOTO, C. H. Comando de repetição: while. In: PINA JÚNIOR, J. 
C.; MORIMOTO, C. H. Introdução à Computação com Python. São Paulo: Departamento 
de Ciência da Computação, IME-USP, 2019. Disponível em: https://panda.ime.usp.br/
cc110/static/cc110/03-while.html. Acesso em: 3 jun. 2019. 
VIEGAS, T. B. Correções para PEP8 - Listas 03 e 04. Python Brasil Exercícios, [S. l.], 4 ago. 
2014. Disponível em: https://github.com/selatotal/pythonBrasilExercicios/tree/mas-
ter/03_EstruturasRepeticao. Acesso em: 3 jun. 2019.
Comando while, variáveis contadoras e acumuladoras (utilizando a linguagem Python)16
Dica do Professor
A linguagem de programação Python permite usar um bloco de comando else contido em 
comandos de repetição, como no comando while. Esses dois comandos juntos em um trecho de 
código podem ser estranhos para programadores de outraslinguagens de programação, que estão 
acostumados a ver o else somente em conjunto às estruturas de decisão, como if.
Em Python, usar o while e o else em uma única estrutura é um recurso interessante para melhorar a 
legibilidade dos seus programas. Dessa forma, é importante que você saiba como é possível unir 
esses dois comandos para desenvolver códigos bem estruturados.
Na Dica do Professor, você verá como funciona a instrução else juntamente com o laço de 
repetição while na linguagem de programação Python. 
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Exercícios
1) O comando while pode ser usado para repetir uma ação/comando várias vezes. Desse modo, 
suponha que desejamos imprimir os números de 0 a N, em que N é um valor inserido pelo 
usuário e que produz uma saída como a seguir:
Entre o valor de N:5 
0 
1 
2 
3 
4 
5
Marque a alternativa que contém o código para imprimir os números de 0 a N, em que N é o 
valor informado pelo usuário.
A) 
B) 
C) 
D) 
E) 
2) O teste de mesa é uma técnica para verificar manualmente o fluxo de execução de um programa 
sem utilizar o computador e necessitando apenas de “papel e caneta”. No laço de repetição while, o 
teste de mesa verifica o seu funcionamento, atualizando o conteúdo dos elementos rastreados, 
como, por exemplo, as variáveis contadora e acumuladora. Sendo assim, faça o teste de mesa do 
código mostrado a seguir:
Rastreie o conteúdo da variável contadora e da acumuladora e marque a alternativa com os valores 
finais da variável contadora e da acumuladora, impressos nos comandos print das linhas 7 e 8.
A) cont = 10
soma = 55
B) cont = 12
soma = 30
C) cont = 14
soma = 42
D) cont = 0
soma = 0
E) cont = 12
soma = 12
3) O comando break, quando utilizado dentro de um laço de repetição, serve para interromper a 
repetição, encerrando a execução do loop e, em seguida, salta para a linha de código 
imediatamente após o bloco de instruções do laço e o comando continuarem; interrompe o fluxo 
de execução do laço de repetição, porém ele avança para a próxima execução do loop. Baseado 
nessa informação e no material abordado nesta Unidade de Aprendizagem, marque a alternativa 
correta com a saída do código a seguir:
A) 0;2;4;6;8;
B) 0;1;2;3;4;5;
C) 0;0;0;0;0; 
D) 0;1;2;3;4;5;6;7;8;9; 
E) 1;3;5;7;9; 
4) Na matemática, o produtório é o resultado de multiplicações sucessivas de uma quantidade 
finita de números inteiros, começando com o valor 1 indo até um valor N. O produtório pode 
ser definido matematicamente pela equação:
Por exemplo: o produtório de 1 até 5 é Prod = 1*2*3*4*5 = 120
Sendo assim, marque a alternativa que contém um código para calcular o produtório de um 
valor N digitado pelo usuário no teclado e lido pela função input(). 
A) 
B) 
C) 
D) 
E) 
O laço de repetição while é utilizado para repetir blocos de código específicos por um certo número 
de vezes enquanto uma determinada condição seja verdadeira. Essa condição do laço while pode 
ser o resultado de um teste lógico ou o conteúdo de uma variável, sendo que o valor 0 (zero) é 
interpretado como falso e qualquer outro valor diferente de zero é interpretado como verdadeiro.
No trecho de código a seguir, a variável condição tem seu conteúdo atualizado com um valor 
numérico e, então, é testada nos dois laços while.
5) 
Sendo assim, marque a alternativa com a explicação correta do que acontece quando o código for 
executado.
A) O valor 0 e o valor 1 são impressos uma vez cada.
B) O valor 0 não é impresso e o valor 1 é impresso repetidas vezes até que o programa seja 
terminado.
C) O valor 0 e o valor 1 não são impressos nenhuma vez. 
D) O valor 0 é impresso repetidas vezes até que o programa seja terminado e o valor 1 não é 
impresso. 
E) O valor 0 não é impresso e o valor 1 é impresso uma vez. 
Na prática
Diversos problemas do mundo real envolvem encontrar o valor máximo ou mínimo de uma função, 
o que é chamado de otimização. Problemas práticos dessa natureza são muito abrangentes e 
podem ser encontrados em diversas áreas, como Engenharia, Logística e Administração. 
Existem diversos algoritmos para resolver problemas de otimização que podem ser implementados 
em Python, dentre eles, um dos métodos mais conhecidos para a otimização de problemas simples 
é o algoritmo gradiente descendente.
Na Prática, veja como é feita essa implementação.
Aponte a câmera para o 
código e acesse o link do 
conteúdo ou clique no 
código para acessar.
Saiba mais
Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor:
Iteração
Neste site, você poderá aprender mais sobre como funciona a interação em um laço com o 
comando while.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Repetições (laços) com while
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Fatorial
Veja o funcionamento do laço while para solucionar o problema de fatorial.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Estrutura de repetição while
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Enhanced while loop
Conheça mais sobre o laço de repetição while neste site em inglês.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.

Mais conteúdos dessa disciplina