Python while: o guia completo para a execução repetitiva

python while

O loop while é uma estrutura de controle de fluxo em Python que permite executar um bloco de código repetidamente até que uma determinada condição seja verdadeira. Ainda assim, esse tipo de loop é útil quando você sabe exatamente quantas vezes deseja executar um bloco de código antes de parar.

Podemos definir uma função usando apenas uma sentinela e um corpo de código. No entanto, verificamos a condição da sentinela antes de cada execução do bloco de código, e se ela for verdadeira, executamos no código. O loop continue executando o código até que a condição fique falsa. Além disso, essa estrutura de controle de fluxo é muito poderosa e encontramos seu uso em diversos tipos de programas, desde simples scripts até aplicativos complexos. O loop while é especialmente útil em situações em que você precisa repetir a execução de um bloco de código até que alcance um determinado estado.

Neste artigo, vamos explorar o uso do loop while em Python, incluindo sua sintaxe, condições e controle de fluxo. Além disso, vamos examinar exemplos práticos do uso do loop while em Python e comparar com outros tipos de loops disponíveis no Python. Então, vamos começar!

Sintaxe do loop while em Python

A sintaxe do while em Python é bastante simples. Da mesma forma, executamos uma sentinela antes de cada iteração do loop e executamos um código se a sentinela for verdadeira. O loop continua executando o corpo de código até que a sentinela se torne falsa.

A sintaxe básica do loop while em Python é a seguinte:

while condição:
    # bloco de código a ser executado

A condição verifica uma expressão booleana antes de cada iteração do loop. Se a condição for verdadeira, executamos o bloco de código entre os sinais de aspas. O loop continua executando o código dentro do bloco até que a condição fique falsa.

Você pode adicionar um contador para controlar o número de iterações do loop. Para fazer isso, usamos uma variável e verificar sua valor dentro da condição. Neste exemplo, o loop executará o bloco de código dentro das aspas sempre que contador for menor que 10. O contador será incrementado em cada iteração do loop, Veja:

contador = 0
while contador < 10:
    # bloco de código a ser executado
    contador += 1

Em resumo, a sintaxe do loop while em Python é bastante simples e poderosa, permitindo que você execute um bloco de código repetidamente até que uma determinada condição seja verdadeira.

Exemplos simples do uso do loop while em Python

O loop while é um dos loops mais simples e utilizados em Python. Dessa forma, o código executa repetidamente enquanto uma determinada condição é verdadeira. Para utilizar o loop while, é preciso definir uma condição que avaliará antes de cada iteração.

Aqui estão alguns exemplos simples de como usar o loop while em Python:

Contagem regressiva:

Neste exemplo, a condição i < 5 é avaliada antes de cada iteração, e o valor de i é incrementado em 1 a cada iteração.

i = 0
while i < 5:
    print(i)
    i += 1

O resultado é uma contagem regressiva de 0 a 4.

Verificação de uma palavra-chave:

Neste exemplo, a condição word not in ["chave1", "chave2"] é avaliada antes de cada iteração, e a solicitação de entrada é exibida novamente se a palavra-chave do tipo string inserida for inválida. O loop executará continuamente até que você insira uma palavra-chave válida.

word = input("Insira uma palavra-chave: ")
while word not in ["chave1", "chave2"]:
    print("Insira uma palavra-chave válida!")
    word = input("Insira uma palavra-chave: ")

Calculadora simples:

No exemplo, a condição True é usada para criar um loop infinito. Usando elif para à medida que o usuário insira uma operação, o valor de somasubtraçãomultiplicação ou divisão é atualizado e a saída correspondente é exibida. Se o usuário insira uma operação inválida, a saída “Operação inválida!” é apresentada e o loop é interrompido com a instrução break.

while True:
    s1 = float(input("Insira um número: "))
    s2 = float(input("Insira outro número: "))
    
    soma = s1 + s2
    subtração = s1 - s2
    multiplicação = s1 * s2
    divisão = s1 / s2
    
    print("Soma:", soma)
    print("Subtracção:", subtração)
    print("Multiplicação:", multiplicação)
    print("Divisão:", divisão)
    
    operação = input("Insira uma operação: +, -, * ou / ")
    if operação == "+":
        s1 = float(input("Insira o primeiro número: "))
        s2 = float(input("Insira o segundo número: "))
        soma = s1 + s2
        print("Soma:", soma)
    elif operação == "-":
        s1 = float(input("Insira o primeiro número: "))
        s2 = float(input("Insira o segundo número: "))
        subtração = s1 - s2
        print("Subtracção:", subtração)
    elif operação == "*":
        s1 = float(input("Insira o primeiro número: "))
        s2 = float(input("Insira o segundo número: "))
        multiplicação = s1 * s2
        print("Multiplicação:", multiplicação)
    elif operação == "/":
        s1 = float(input("Insira o primeiro número: "))
        s2 = float(input("Insira o segundo número: "))
        divisão = s1 / s2
        print("Divisão:", divisão)
    else:
        print("Operação inválida!")
        break

Comprimento da soma:

Neste exemplo, temos o loop while junto com a função len em que a condição len(soma) < 5 é avaliada antes de cada iteração. A variável soma é inicializada com o valor 0, e a iteração continuará a executar-se até que o comprimento de soma seja igual a 5. À medida que o loop executa, a variável soma é incrementada em 1 em cada iteração, veja:

soma = 0
while len(soma) < 5:
    soma += 1
    print(soma)

O resultado é um loop que incrementa o valor de soma até que o comprimento de soma seja igual a 5.

Condições do loop while em Python

Há várias maneiras de definir uma condição para o loop while. Aqui estão alguns exemplos:

Condição booleana

É a forma mais comum de definir uma condição para o loop while em Python. O loop while envolve uma expressão booleana que avalia verdadeiro ou falso em cada iteração do loop. Se a expressão for verdadeira, o loop continua; se for falsa, o loop termina. 

Por exemplo, aqui tem a condição booleana x < 10 é avaliada em cada iteração do loop while. Como x é menos que 10, a expressão é verdadeira e o loop continua.

x = 0
while x < 10:
    print(x)
    x += 1

Operadores de comparação

Além das expressões booleanas, também podemos utilizar operadores de comparação para definir uma condição para o loop while. Por exemplo, a condição do loop while é x < 10 or x > 0. A expressão x < 10 é verdadeira, então a condição é verdadeira e o loop continua. Quando x atinge 10, a expressão x > 0 é verdadeira e a condição é novamente verdadeira, veja a baixo:

x = 0
while x < 10 or x > 0:
    print(x)
    x += 1

Verificação de fronteiras

Além de comparar com um número específico, é possível usar a verificação de fronteiras para definir uma condição para o loop while. Por exemplo, a condição do loop while é x < 10 or x >= -5. A expressão x < 10 é verdadeira, então a condição é verdadeira e o loop continua:

x = 0
while x < 10 or x >= -5:
    print(x)
    x += 1

Controle de fluxo do loop while em Python

O controle de fluxo do loop while em Python é uma estrutura de controle de fluxo que executa uma sequência de instruções repetidamente até que uma condição seja verdadeira. Embora o loop while seja simples em conceito, podemos usá-lo de maneiras complexas para gerenciar a execução do loop e garantir que a condição seja verdadeira apenas uma vez.

Uma estratégia comum para garantir que a condição seja verdadeira apenas uma vez é quando usamos uma variável de controle para rastrear o número de iterações do loop. Por exemplo, uma variável de controle i é usada para rastrear o número de iterações do loop while. Quando i atinge 5, a condição do loop é interrompida usando a palavra-chave break:

i = 0
while i < 10:
    if i == 5:
        break
    i += 1

Dessa forma, a condição é verdadeira apenas uma vez, quando i é igual a 5.

Exemplos mais avançados de While em python

O loop while é uma solução versátil para diversos problemas em diferentes contextos. Nesse sentido, aqui estão alguns exemplos de como usamos o loop para resolver problemas específicos, como processamento de listas e matrizes.

Exemplo 1: Processando uma lista.

Neste exemplo, utilizamos o loop while para incrementar todos os valores de uma lista. Usamos a variável count para rastrear o número de elementos em lst e é atualizada em cada iteração do loop while. Assim quando count atinge o comprimento de lst, a condição do loop é verdadeira e o loop termina.

lst = [1, 2, 3, 4, 5]
count = 0
while count < len(lst):
    lst[count] += 1
    count += 1
print(lst)

A saída será:

[2, 3, 4, 5, 6]

Exemplo 2: Processar uma matriz de números.

Utilizando um loop while, podemos processar uma matriz de números, multiplicando cada elemento pela sua posição na matriz e adicionando 1 à coluna. Dessa forma, processamos a matriz de forma inversa, multiplicando cada elemento pela sua posição na matriz e adicionando 1 à coluna. Veja:

# Criar uma matriz de 3x3 de números
matriz = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

# Loop while
while True:
    # Loop through columns
    for coluna in matriz:
        # Multiplicar cada elemento pela coluna
        multiplicando = 1
        for elemento in coluna:
            multiplicando *= elemento
        # Adicionar 1 à coluna
        for coluna_adicional in matriz:
            coluna_adicional.append(1)
        # Imprimir a matriz atual
        print(matriz)

O resultado da execução deste código é:

[[1, 2, 3], [14, 15, 16], [21, 22, 23]]
[[2, 4, 6], [15, 18, 21], [22, 27, 32]]
[[3, 6, 9], [18, 24, 27], [30, 36, 42]]

Exemplo 3: Encontrando o número que aparece em menor quantidade de vezes

É possível encontrar o número que aparece menor quantidade de vezes em uma lista, assim veja a baixo o exemplo :

# Criar uma lista de números
lista = [1, 2, 3, 2, 1, 4, 3, 2]

# Inicializar o contador para 0
contador = 0

# Inicializar o número menor para None
numero_menor = None

# Loop while
while contador < len(lista):
    # Verificar se o número já foi contado
    if contador not in contador_lista:
        # Atualizar o número menor
        numero_menor = contador

    # Incrementar o contador
    contador += 1

# Imprime o resultado
print("O número que aparece menor quantidade de vezes é:", numero_menor)

Comparação com outros loops em Python:

O loop while é um dos principais tipos de loop em Python, que permite executar um bloco de código repetidamente enquanto uma condição específica for verdadeira. No entanto, Python também oferece outros tipos de loop, como o for em python e o loop do-while, que apresentam algumas semelhanças e diferenças em termos de sua sintaxe e uso.

Contudo a seguir, analisaremos as semelhanças e diferenças entre o loop while, o loop for e o loop do-while em Python:

Semelhanças:

  • Os três tipos de loop – while, for e do-while – permitem a execução repetida de um bloco de código até que alcancemos uma condição específica.
  • é possível que utilizamos os três tipos de loop – while, for e do-while – em conjunto com outras estruturas de controle de fluxo, como if/else e switch/case.
  • Os três tipos de loops podem processar sequências de dados, como listas, tuplas e strings.

Diferenças:

  • O loop while executa enquanto uma condição específica é verdadeira, o loop for executa enquanto a condição é verdadeira e o loop do-while executa enquanto a condição é verdadeira ou o valor de saída da função é diferente de None.
  • O loop while executa de maneira mais simples e direta, enquanto o loop for exige a especificação explícita de variáveis de controle, como início e fim. O loop do-while tem uma sintaxe intermediária entre o loop while e o loop for.
  • O loop do-while se adequa melhor em situações em que a condição é verdadeira na primeira iteração do loop, enquanto o loop while é melhor em situações em que a condição não se torna verdadeira na primeira iteração do loop.

A seguir, apresentamos exemplos para ilustrar a diferença entre os três tipos de loop:

Exemplo de loop while:

Utilizamos o loop while para imprimir os valores de x de 0 a 4. A condição do loop, x < 5, é verdadeira na primeira vez que o loop é executado, o que faz com que o bloco de código dentro do loop seja executado. Depois que o bloco de código é executado, a variável x é incrementada em 1 e a condição do loop é verificada novamente. Isso ocorre repetidamente até que a condição x < 5 se torne falsa, ou seja, quando x atinge o valor 5, Veja:

x = 0
while x < 5:
    print(x)
    x += 1

Exemplo de loop for:

Utilizamos o loop for em Python para imprimir os valores de range(5), que cria uma sequência de números de 0 a 4. Dessa forma, a estrutura for esta utilizando o método range em Python para gerar uma sequência de números, e utilizamos a variável i para representar cada número na sequência. Portanto, a condição i < 5 é verdadeira para cada valor de i na sequência, o que faz com que o bloco de código dentro do loop seja executado uma vez para cada valor de i, Veja:

for i in range(5):
    print(i)

Exemplo de loop do-while:

Utilizamos o loop do-while para imprimir os valores de x de 0 a 4. A condição do loop, x < 5, é verdadeira na primeira vez que o loop é executado, o que faz com que o bloco de código dentro do loop seja executado. Logo depois que o bloco de código é executado, a variável x é incrementada em 1 e a condição do loop é verificado novamente. Assim, isso ocorre repetidamente até que a condição x < 5 se torne falsa, ou seja, quando x atinge o valor 5.

x = 0
do:
    print(x)
    x += 1
while x < 5

Conclusão

Em resumo, o loop while é uma estrutura de controle de fluxo muito poderosa em Python, que permite executar um bloco de código repetidamente até que uma determinada condição seja verdadeira. É fácil utilizando o loop while, pois podemos defini-lo apenas com uma sentinela e um corpo de código.

Assim, o loop while se torna uma escolha melhor adequamos quando temos o conhecimento prévio de quantas vezes desejamos executar um bloco de código antes de parar. Ele é especialmente útil em situações em que precisamos repetir a execução do código até alcançar um determinado estado.

Neste artigo, discutimos o uso do loop while em Python, incluindo sua sintaxe, condições e controle de fluxo, além de apresentar exemplos práticos do uso do loop while em Python. Ao comparar com outros tipos de loops disponíveis em Python, percebemos que o loop while é uma estrutura de controle de fluxo versátil e poderosa que encontramos em muitos tipos de programas.

Esperamos que este artigo tenha ajudado você a compreender melhor o uso do loop while em Python e como você pode aplicá-lo em suas próprias criações de programas. Além disso, aprenda sobre Switch Case e Scan em Python!

Este artigo foi útil?

Obrigado pela resposta!
Schênia T

Schênia T

Cientista de dados, apaixonada por ferramentas de tecnologia e games. Graduanda em Estatística pela UFPB. Seu hobby é maratonar séries, curtir uma boa música trabalhando ou cozinhando, ir ao cinema e aprender coisas novas!

Contato: schenia.blog@homehost.com.br

Ganhe 30% OFF

Indique seu nome e e-mail,e ganhe um cupom de desconto de 30% para sempre na Homehost!