Crie um programa que solicite, de forma repetida, a digitação de um número inteiro e que só encerre a solicitação quando o número digitado for igual a 0 .
Passo 1
Então, o enunciado pede um programinha que fique pedindo ao usuário um número inteiro e só pare quando esse número for igual a 0.
Matéria: estruturas de repetição (loops) e condição de parada (sentinela).
O que vamos precisar:
Matéria: estruturas de repetição (loops) e condição de parada (sentinela).
O que vamos precisar:
- Uma forma de ler a entrada do usuário (input).
- Um loop que se repete enquanto o valor não for 0 (usaremos o
while
). - Uma verificação para, assim que for digitado 0, a gente encerrar o programa.
Passo 2
Antes de tudo, bora rever o que é um loop while:
– É uma estrutura que repete um bloco de código enquanto uma condição for verdadeira.
– Sintaxe genérica em pseudocódigo:
– É uma estrutura que repete um bloco de código enquanto uma condição for verdadeira.
– Sintaxe genérica em pseudocódigo:
enquanto (condição) faça
instruções
fim enquanto
No nosso caso, a condição é “o número digitado é diferente de 0”, ou seja, em LaTeX:
Passo 3
Vamos montar um pseudocódigo bem simples e explicar cada parte:
- Defino uma variável
n
com um valor qualquer (pode ser 1, só pra garantir quewhile
comece). - Enquanto
n
for diferente de 0:
a) Peço ao usuário para digitar um número inteiro e armazeno emn
.
b) O loop volta e verifica novamente sen \neq 0
. - Quando o usuário digitar 0, a condição
n \neq 0
deixar de ser verdadeira e o loop acaba.
Pseudocódigo:
n ← 1
enquanto (n ≠ 0) faça
escreva "Digite um número inteiro (0 para sair): "
leia n
fim enquanto
Passo 4
Agora, tranformando isso em Python e explicando cada linha:
n = 1 # 1) Inicializa n com valor diferente de 0 pra entrar no loop
while n != 0: # 2) Continua enquanto n for diferente de 0
n = int(input("Digite um número inteiro (0 para sair): "))
# 2a) Lê o valor do usuário, converte pra inteiro e atribui a n
# Quando sai do while, significa que n == 0
Resposta
n = 1
while n != 0:
n = int(input("Digite um número inteiro (0 para sair): "))