Tudo sobre Python While Loop com exemplos

Tudo sobre Python While Loop com exemplos

Nó Fonte: 3091323

Introdução

Um loop while é uma instrução de fluxo de controle fundamental em Python que permite executar repetidamente um bloco de código, desde que uma determinada condição seja verdadeira. Ele fornece uma maneira de automatizar tarefas repetitivas e iterar uma sequência de valores. Este artigo explorará a sintaxe, o uso e várias aplicações dos loops while em Python.

Loop while do Python

Índice

Sintaxe e estrutura de um loop While

A sintaxe de um loop while em Python é a seguinte:

while condition:
    # code to be executed

A condição é uma expressão booleana que determina se o loop deve continuar ou terminar. Se a condição for considerada True, o bloco de código dentro do loop será executado repetidamente. Assim que a condição se tornar False, o loop será encerrado e o programa continuará com a próxima instrução após o loop.

Uso básico e exemplos

Vamos começar com um exemplo simples para entender o uso básico de um loop while. Suponha que queiramos imprimir os números de 1 a 5. Podemos fazer isso usando um loop while, conforme mostrado abaixo:

num = 1
while num <= 5:
    print(num)
    num += 1

saída

1

2

3

4

5

Neste exemplo, inicializamos a variável `num` como 1. O loop while continua se `num` for menor ou igual a 5. Dentro do loop, imprimimos o valor de `num` e então o incrementamos em 1 usando o Operador `+=`. Este processo se repete até que `num` se torne 6, quando a condição se torna False e o loop termina.

Controlando o fluxo com instruções de controle de loop

Python fornece três instruções de controle de loop, 'break', 'continue' e 'pass', para permitir que você controle o fluxo de um loop while.

A declaração de “quebra”

A instrução `break` é usada para sair do loop prematuramente, mesmo se a condição do loop ainda for verdadeira. Geralmente é usado quando uma determinada condição é atendida e você deseja encerrar o loop imediatamente. Aqui está um exemplo:

num = 1
while num <= 10:
    if num == 6:
        break
    print(num)
    num += 1

saída

1

2

3

4

5

Neste exemplo, o loop termina quando `num` se torna 6 porque usamos a instrução `break` dentro da condição if. Como resultado, apenas os números de 1 a 5 são impressos.

A declaração “continuar”

A instrução `continue` é usada para pular o restante do bloco de código dentro do loop e passar para a próxima iteração. É útil quando você deseja pular determinados valores ou condições e continuar com a próxima iteração. Aqui está um exemplo:

num = 1
while num <= 5:
    if num == 3:
        num += 1
        continue
    print(num)
    num += 1

saída

1

2

4

5

Neste exemplo, o loop ignora o valor 3 porque usamos a instrução `continue` dentro da condição if. Como resultado, o número 3 não é impresso e o loop continua com a próxima iteração.

A declaração de “aprovação”

A instrução `pass` é um espaço reservado quando você não deseja fazer nada dentro do loop. Geralmente é usado como espaço reservado temporário durante o desenvolvimento ou quando você deseja criar um loop vazio. Aqui está um exemplo:

num = 1
while num <= 5:
    pass
    num += 1

Neste exemplo, a instrução `pass` não faz nada e o loop incrementa o valor de `num` até que se torne 6.

Casos de uso e aplicativos comuns

Embora os loops tenham uma ampla gama de aplicações em Python. Vamos explorar alguns casos de uso comuns:

Iterando até que uma condição seja atendida

Os loops while são comumente usados ​​quando você deseja iterar até que uma determinada condição seja atendida. Por exemplo, queremos encontrar a primeira potência de 2 maior que 1000. Podemos usar um loop while para conseguir isso:

num = 1
while num <= 1000:
    num *= 2
print(num)

saída

1024

Neste exemplo, o loop continua até que `num` exceda 1000. Para cada iteração, `num` é multiplicado por 2 e o valor final é impresso.

Validação de entrada do usuário

Os loops while são úteis para validar a entrada do usuário e garantir que a entrada atenda a determinados critérios. Por exemplo, queremos solicitar ao usuário que insira um número inteiro positivo. Podemos usar um loop while para solicitar entrada até que um número inteiro válido seja inserido repetidamente:

while True:
    try:
        num = int(input("Enter a positive integer: "))
        if num > 0:
            break
        else:
            print("Invalid input. Please enter a positive integer.")
    except ValueError:
        print("Invalid input. Please enter a valid integer.")

Neste exemplo, o loop continua indefinidamente até que um número inteiro positivo válido seja inserido. O bloco `try-except` lida com possíveis erros ao converter a entrada em um número inteiro.

Criando Loops Infinitos

Os loops while podem ser usados ​​para criar loops infinitos, que continuam indefinidamente até que uma determinada condição seja atendida. Por exemplo, vamos criar um loop infinito simples que imprima “Hello, World!” repetidamente:

while True:
    print("Hello, World!")

Neste exemplo, a condição do loop é sempre True, portanto o loop continua indefinidamente. Para encerrar o loop, você pode usar a instrução `break` ou interromper a execução do programa.

Um loop infinito pode ser útil no contexto de um sistema de monitoramento ou registro em tempo real. Imagine uma situação em que você deve monitorar continuamente um sistema ou rede em busca de eventos ou alterações específicas e registrar as informações. Um loop infinito poderia ser empregado para verificar essas condições e tomar as ações apropriadas constantemente.

Implementando Loops de Jogo

Enquanto os loops são comumente usados ​​no desenvolvimento de jogos para implementar loops de jogos, que controlam o fluxo do jogo e lidam com a entrada do usuário. Um loop de jogo normalmente consiste em três componentes principais: atualização do estado do jogo, renderização dos gráficos do jogo e tratamento da entrada do usuário. Aqui está um exemplo simplificado:

game_running = True
while game_running:
    # Update game state
    # Render game graphics
    # Handle user input

Neste exemplo, o loop continua enquanto a variável `game_running` for True. Dentro do loop, você atualizaria o estado do jogo, renderizaria os gráficos do jogo e trataria a entrada do usuário. Este processo se repete até que o jogo termine ou o jogador decida sair.

Leia também: Um tutorial completo de Python para aprender ciência de dados do zero

Loops while aninhados e aninhamento de loop

Python permite aninhar loops while, o que significa que você pode ter um loop while dentro de outro loop while. Isso é útil quando você precisa realizar tarefas repetitivas dentro de tarefas repetitivas. Aqui está um exemplo:

outer_num = 1
while outer_num <= 3:
    inner_num = 1
    while inner_num <= 3:
        print(outer_num, inner_num)
        inner_num += 1
    outer_num += 1

saída

1 1

1 2

1 3

2 1

2 2

2 3

3 1

3 2

3 3

Neste exemplo, temos um loop while externo que itera de 1 a 3 e um loop while interno que itera de 1 a 3 para cada iteração do loop externo. A instrução print dentro do loop interno exibe os valores de ambas as variáveis ​​do loop.

Dicas e práticas recomendadas para usar loops while

Embora os loops sejam construções poderosas, eles também podem estar sujeitos a erros se não forem usados ​​corretamente. Aqui estão algumas dicas e práticas recomendadas que você deve ter em mente ao usar loops while:

Inicializando variáveis ​​corretamente

Antes de entrar em um loop while, inicialize qualquer variável do loop com seus valores iniciais. Isso garante que a condição do loop seja avaliada corretamente e evita comportamentos inesperados. Por exemplo:

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

Neste exemplo, inicializamos a variável `count` com 0 antes de entrar no loop.

Garantindo a terminação do loop

Para evitar loops infinitos, certifique-se sempre de que a condição do loop eventualmente se tornará Falsa. Isso pode ser conseguido atualizando variáveis ​​de loop ou usando instruções de controle de loop como `break`. Por exemplo:

num = 1
while num <= 10:
    if num == 6:
        break
    print(num)
    num += 1

Neste exemplo, o loop termina quando `num` se torna 6 por causa da instrução `break`.

Evitando Loops Infinitos

Tenha cuidado ao usar loops while para evitar a criação de loops infinitos que nunca terminam. Loops infinitos podem causar falhas no programa e consumir recursos excessivos do sistema. Sempre verifique as condições do seu loop e certifique-se de que elas possam se tornar falsas em algum momento.

Escrevendo código legível e sustentável

Embora os loops possam se tornar complexos e difíceis de entender se não forem escritos corretamente. Use nomes de variáveis ​​significativos, adicione comentários para explicar a finalidade do loop e divida tarefas complexas em subtarefas menores. Isso torna seu código mais legível e fácil de manter.

Técnicas e truques avançados

Enquanto os loops podem ser usados ​​de maneiras avançadas para realizar tarefas específicas. Aqui estão algumas técnicas e truques avançados:

Loop com instruções Else

Em Python, você pode usar uma instrução else com um loop while para executar um bloco de código quando a condição do loop se tornar False. O outro bloco é executado somente se o loop for concluído normalmente sem nenhuma instrução break. Aqui está um exemplo:

num = 1
while num <= 5:
    print(num)
    num += 1
else:
    print("Loop completed")

saída

1

2

3

4

5

Ciclo concluído

Neste exemplo, o bloco else é executado após o loop ser concluído normalmente.

Usando loops while com listas e strings

Os loops while podem ser usados ​​para iterar listas e strings usando uma variável de índice. Aqui está um exemplo:

fruits = ["apple", "banana", "cherry"]
index = 0
while index < len(fruits):
    print(fruits[index])
    index += 1

saída

maçã

Banana

cereja

Neste exemplo, o loop while itera sobre os elementos da lista `frutas` usando a variável de índice.

Leia também: Tudo o que você deve saber sobre estruturas de dados integradas em Python – um guia para iniciantes!

Comparação com outras construções de loop em Python

While loops são apenas uma das várias construções de loop disponíveis em Python. Vamos comparar os loops while com os loops for e recursão:

Enquanto Loops vs. For Loops

Embora loops e loops sejam usados ​​para iteração, eles têm casos de uso diferentes. Embora os loops sejam mais flexíveis e possam lidar com condições complexas, os loops for são mais adequados para iterar uma sequência de valores. Os loops while são úteis quando você não sabe o número exato de iterações com antecedência ou precisa realizar cálculos complexos. Os loops são úteis quando você deseja iterar uma sequência de valores, como uma lista ou uma string.

While Loops vs. Recursão

Recursão é uma técnica em que uma função chama a si mesma para resolver um problema. Ele pode ser usado para realizar tarefas repetitivas semelhantes aos loops while, mas apresenta algumas diferenças. Os loops while são mais adequados para tarefas iterativas nas quais você tem uma condição de encerramento clara e deve executar um número fixo de iterações. A recursão é mais adequada para resolver problemas divididos em subproblemas menores, como algoritmos de busca, classificação e travessia de árvore.

Conclusão

Neste artigo, exploramos o conceito de loops while em Python. Aprendemos sobre sua sintaxe, uso básico e vários aplicativos. Também discutimos dicas, práticas recomendadas, erros comuns e técnicas avançadas para usar loops while. Finalmente, comparamos os loops while com outras construções de loop em Python. Com esse conhecimento, agora você pode usar loops while com eficácia para automatizar tarefas repetitivas e iterar sequências de valores em seus programas Python.

Desbloqueie o poder da excelência em IA e ML! Inscreva-se agora em nosso Programa Certificado AI & ML BlackBelt Plus e eleve suas habilidades a novos patamares. Não perca a oportunidade de dominar as tecnologias mais recentes – transforme sua carreira hoje!

Além disso, se você estiver procurando por um curso Python online, explore nosso – Introdução ao programa Python hoje!

Carimbo de hora:

Mais de Análise Vidhya