Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Laços While | Loops
Introdução ao Python
course content

Conteúdo do Curso

Introdução ao Python

Introdução ao Python

1. Introdução
2. Variáveis e Tipos
3. Declarações Condicionais
4. Outros Tipos de Dados
5. Loops
6. Funções

book
Laços While

while loops são a ferramenta chave para lidar com iterações indefinidas, o que é útil em cenários onde o número de iterações não é conhecido de antemão, como monitorar níveis de inventário até que eles atinjam um limite específico.

Assista enquanto Alex demonstra como usar while loops para lidar com situações dinâmicas:

Um while loop em Python executa continuamente um bloco de código enquanto uma condição especificada permanece True.

Sintaxe

Para iniciar um while loop, você define uma variável contadora e a segue com a palavra-chave while e uma condição booleana. A condição é seguida por dois pontos :, que indicam o início do bloco de código do loop.

O loop será executado repetidamente até que a condição se torne False. Normalmente, a variável contadora é atualizada dentro do loop para eventualmente tornar a condição False e parar o loop.

Veja este while loop como exemplo:

1234567891011
# Handling a queue at a grocery store checkout queue_length = 5 # Initial number of people in the queue while queue_length > 0: # Start the `while` loop as long as the queue isn't empty print(f"Current queue size: {queue_length}") # Simulate serving a customer print("Serving the next customer...") # Decrease the queue length by 1 as a customer leaves # The `-=` operator is a shortcut for `queue_length = queue_length - 1` queue_length -= 1
copy

Neste exemplo, queue_length atua como nossa variável contadora, começando em 5. A cada iteração do loop, o valor de queue_length diminui em 1 até atingir 0. Nesse ponto, o loop termina porque a condição 0 > 0 avalia como False.

Nota

É crucial atualizar a variável contadora dentro do loop para eventualmente atender à condição de parada do loop. Sem isso, o loop rodará infinitamente, impedindo que qualquer outro código seja executado.

Aplicação de Exemplo

Imagine que você está gerenciando o estoque de leite em uma mercearia. Você precisa garantir que o estoque não caia abaixo de um certo nível e, quando isso acontecer, deve reabastecer para manter o nível de estoque.

Um loop while é útil nesta situação porque permite reabastecer o leite em incrementos ao longo de várias iterações até que o estoque atinja o nível desejado. Sem um loop while, você precisaria calcular a quantidade exata de leite para reabastecer tudo de uma vez.

Por exemplo, considere que um funcionário da loja só pode reabastecer uma quantidade fixa de leite em uma viagem (por exemplo, 20 pacotes por reabastecimento). Se o estoque não estiver totalmente reabastecido, o funcionário retorna ao armazém para trazer outro lote de leite.

123456789101112131415161718
# Initial amount of milk in stock milk_stock = 15 # Minimum stock level before restocking is necessary min_stock = 50 # Quantity a worker can restock at one time restock_quantity = 20 # Start the loop to restock milk until the stock exceeds the minimum required level while milk_stock < min_stock: # If the loop is running, the condition is `True`, indicating we need more milk print(f"Milk stock is low: {milk_stock} units remaining.") # Simulate the process of restocking milk print("Restocking milk...") # Increase the stock by the quantity the worker can bring in one trip milk_stock += restock_quantity # Output the final stock level after restocking is complete print(f"Milk stock updated: {milk_stock} units, which is now sufficient.")
copy

Nota

milk_stock += restock_quantity é equivalente a milk_stock = milk_stock + restock_quantity. É simplesmente uma maneira mais concisa e legível de expressar a mesma operação.

O fluxograma acima ilustra a lógica por trás do loop while usado para gerenciar o estoque de leite. Observe como a variável de contagem milk_stock, começando em 15, é incrementada pela restock_quantity a cada iteração do loop.

O loop continua rodando até que milk_stock ultrapasse o limite de min_stock de 50, momento em que ele para.

Tarefa

Swipe to start coding

Nesta tarefa, você irá gerenciar o estoque de uma mercearia usando loops para garantir que os produtos atendam aos seus níveis mínimos de estoque. Você trabalhará com três itens: Bread, Eggs e Apples. Seu objetivo é atualizar os níveis de estoque usando quantidades de reabastecimento armazenadas em um dicionário e, em seguida, imprimir o inventário atualizado.

Instruções de Código

  • Crie um loop while para verificar se o estoque de "Bread" está abaixo do nível mínimo necessário. Se estiver, aumente o estoque adicionando a quantidade de reabastecimento especificada no dicionário.
  • Da mesma forma, configure um loop while para "Eggs" para verificar se o estoque está abaixo do nível mínimo. Se necessário, reabasteça adicionando a quantidade de reabastecimento especificada.
  • Aplique a mesma lógica para "Apples" usando um loop while para garantir que atenda ao nível mínimo de estoque.
  • Após reabastecer todos os itens, itere sobre o dicionário de inventário e imprima os níveis finais de estoque para cada item.

Requisitos de Saída

  • Para cada item que for reabastecido, imprima uma mensagem indicando o nível atual de estoque e que o reabastecimento está ocorrendo. Por exemplo: "<Item> stock is low: <$current_stock> units. Restocking...".
  • Após todo o reabastecimento ser concluído, imprima o status final do inventário no formato: "<Item>: <$current_stock> units (Minimum required: <$minimum_stock> units)".
  • Use f-strings para formatar as mensagens de saída e certifique-se de usar aspas simples dentro de strings com aspas duplas para as chaves do dicionário.
  • Insira uma nova linha antes de imprimir o status final do inventário usando a sequência de escape \n.

Nota

O código introduz novas maneiras de formatar strings para melhor legibilidade:

  • Dentro de f-strings, aspas simples ' podem ser usadas dentro de strings com aspas duplas. Por exemplo: f"Pão estoque está baixo: {inventory['Bread'][0]} unidades.". A string externa usa aspas duplas, enquanto 'Pão' usa aspas simples para evitar conflitos.
  • Você pode inserir uma nova linha na saída usando a sequência de escape \n, como "Primeira linha.\nSegunda linha." que dividirá a saída em duas linhas.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 2
toggle bottom row

book
Laços While

while loops são a ferramenta chave para lidar com iterações indefinidas, o que é útil em cenários onde o número de iterações não é conhecido de antemão, como monitorar níveis de inventário até que eles atinjam um limite específico.

Assista enquanto Alex demonstra como usar while loops para lidar com situações dinâmicas:

Um while loop em Python executa continuamente um bloco de código enquanto uma condição especificada permanece True.

Sintaxe

Para iniciar um while loop, você define uma variável contadora e a segue com a palavra-chave while e uma condição booleana. A condição é seguida por dois pontos :, que indicam o início do bloco de código do loop.

O loop será executado repetidamente até que a condição se torne False. Normalmente, a variável contadora é atualizada dentro do loop para eventualmente tornar a condição False e parar o loop.

Veja este while loop como exemplo:

1234567891011
# Handling a queue at a grocery store checkout queue_length = 5 # Initial number of people in the queue while queue_length > 0: # Start the `while` loop as long as the queue isn't empty print(f"Current queue size: {queue_length}") # Simulate serving a customer print("Serving the next customer...") # Decrease the queue length by 1 as a customer leaves # The `-=` operator is a shortcut for `queue_length = queue_length - 1` queue_length -= 1
copy

Neste exemplo, queue_length atua como nossa variável contadora, começando em 5. A cada iteração do loop, o valor de queue_length diminui em 1 até atingir 0. Nesse ponto, o loop termina porque a condição 0 > 0 avalia como False.

Nota

É crucial atualizar a variável contadora dentro do loop para eventualmente atender à condição de parada do loop. Sem isso, o loop rodará infinitamente, impedindo que qualquer outro código seja executado.

Aplicação de Exemplo

Imagine que você está gerenciando o estoque de leite em uma mercearia. Você precisa garantir que o estoque não caia abaixo de um certo nível e, quando isso acontecer, deve reabastecer para manter o nível de estoque.

Um loop while é útil nesta situação porque permite reabastecer o leite em incrementos ao longo de várias iterações até que o estoque atinja o nível desejado. Sem um loop while, você precisaria calcular a quantidade exata de leite para reabastecer tudo de uma vez.

Por exemplo, considere que um funcionário da loja só pode reabastecer uma quantidade fixa de leite em uma viagem (por exemplo, 20 pacotes por reabastecimento). Se o estoque não estiver totalmente reabastecido, o funcionário retorna ao armazém para trazer outro lote de leite.

123456789101112131415161718
# Initial amount of milk in stock milk_stock = 15 # Minimum stock level before restocking is necessary min_stock = 50 # Quantity a worker can restock at one time restock_quantity = 20 # Start the loop to restock milk until the stock exceeds the minimum required level while milk_stock < min_stock: # If the loop is running, the condition is `True`, indicating we need more milk print(f"Milk stock is low: {milk_stock} units remaining.") # Simulate the process of restocking milk print("Restocking milk...") # Increase the stock by the quantity the worker can bring in one trip milk_stock += restock_quantity # Output the final stock level after restocking is complete print(f"Milk stock updated: {milk_stock} units, which is now sufficient.")
copy

Nota

milk_stock += restock_quantity é equivalente a milk_stock = milk_stock + restock_quantity. É simplesmente uma maneira mais concisa e legível de expressar a mesma operação.

O fluxograma acima ilustra a lógica por trás do loop while usado para gerenciar o estoque de leite. Observe como a variável de contagem milk_stock, começando em 15, é incrementada pela restock_quantity a cada iteração do loop.

O loop continua rodando até que milk_stock ultrapasse o limite de min_stock de 50, momento em que ele para.

Tarefa

Swipe to start coding

Nesta tarefa, você irá gerenciar o estoque de uma mercearia usando loops para garantir que os produtos atendam aos seus níveis mínimos de estoque. Você trabalhará com três itens: Bread, Eggs e Apples. Seu objetivo é atualizar os níveis de estoque usando quantidades de reabastecimento armazenadas em um dicionário e, em seguida, imprimir o inventário atualizado.

Instruções de Código

  • Crie um loop while para verificar se o estoque de "Bread" está abaixo do nível mínimo necessário. Se estiver, aumente o estoque adicionando a quantidade de reabastecimento especificada no dicionário.
  • Da mesma forma, configure um loop while para "Eggs" para verificar se o estoque está abaixo do nível mínimo. Se necessário, reabasteça adicionando a quantidade de reabastecimento especificada.
  • Aplique a mesma lógica para "Apples" usando um loop while para garantir que atenda ao nível mínimo de estoque.
  • Após reabastecer todos os itens, itere sobre o dicionário de inventário e imprima os níveis finais de estoque para cada item.

Requisitos de Saída

  • Para cada item que for reabastecido, imprima uma mensagem indicando o nível atual de estoque e que o reabastecimento está ocorrendo. Por exemplo: "<Item> stock is low: <$current_stock> units. Restocking...".
  • Após todo o reabastecimento ser concluído, imprima o status final do inventário no formato: "<Item>: <$current_stock> units (Minimum required: <$minimum_stock> units)".
  • Use f-strings para formatar as mensagens de saída e certifique-se de usar aspas simples dentro de strings com aspas duplas para as chaves do dicionário.
  • Insira uma nova linha antes de imprimir o status final do inventário usando a sequência de escape \n.

Nota

O código introduz novas maneiras de formatar strings para melhor legibilidade:

  • Dentro de f-strings, aspas simples ' podem ser usadas dentro de strings com aspas duplas. Por exemplo: f"Pão estoque está baixo: {inventory['Bread'][0]} unidades.". A string externa usa aspas duplas, enquanto 'Pão' usa aspas simples para evitar conflitos.
  • Você pode inserir uma nova linha na saída usando a sequência de escape \n, como "Primeira linha.\nSegunda linha." que dividirá a saída em duas linhas.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 2
Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Sentimos muito que algo saiu errado. O que aconteceu?
some-alt