#12 - Loops de Repetição While & Loop Aninhado - Parte 2
🌌 Projeto CodeVerse Python - #12/2025
Fala Galera Dev! ⚡
No último artigo, falamos sobre o loop forem Python e como ele nos ajuda a percorrer listas, strings e sequências de números de forma simples. Agora, vamos explorar mais dois tipos de loops fundamentais: o loop whilee os loops aninhados .
📌 Mas o que são esses loops e o que vamos ver neste arigo?
- Imagine um jogo onde você precisa de moedas até atingir 100 pontos. Isso é um loop while na prática: ele continua rodando enquanto uma condição é verdadeira.
- Agora, pense em um jogo com várias fases, onde cada fase tem várias rodadas. Aqui, estamos lidando com loops aninhados , ou seja, um loop dentro de outro!
🔹Além de entender esses loops, vamos aplicar o conhecimento criando um pequeno jogo em Python: o "Número Secreto"! Nele, o jogador precisará adivinhar um número gerado aleatoriamente, e o loop de reprodução garantirá que o jogo continue até que o número correto seja encontrado.
Bora para cima desse aprendizado e criar nosso próprio jogo em Python?
🔄 Loop "while" em Python
O loop "while" é utilizado quando não sabemos exatamente quantas vezes a repetição deve ocorrer. Ele continua rodando enquanto uma condição for verdadeira.
📌 Estrutura básica:
contador = 0
while contador < 5:
print("Contagem:", contador)
contador += 1
🔹 Saída:
Contagem: 0
Contagem: 1
Contagem: 2
Contagem: 3
Contagem: 4
🛠 Como funciona?
- O loop começa com a palavra-chave while, seguida de uma condição.
- Enquanto essa condição for verdadeira, o bloco de código dentro do loop será executado.
- Para evitar loops infinitos, é essencial garantir que a condição se tornará falsa em algum momento (como incrementando o contador acima).
♻️ Loops aninhados
Loops aninhados são loops dentro de loops! Eles são muito úteis quando precisamos repetir uma ação para cada item de nossa repetição. Isso é comum em situações como matrizes, tabelas e cálculos combinatórios.
Podemos entender isso como: "Para cada elemento do primeiro loop, percorra todos os elementos do segundo loop."
📌 Exemplo: Tabuada com loops aninhados
for i in range(1, 6): # Primeiro loop: percorre os números de 1 a 5
for j in range(1, 6): # Segundo loop: percorre os números de 1 a 5 para cada 'i'
print(f"{i} x {j} = {i * j}") # Multiplica e exibe o resultado
print("---") # Adiciona um separador após cada bloco da tabuada
🔹 Saída:
1 x 1 = 1
1 x 2 = 2
1 x 3 = 3
1 x 4 = 4
1 x 5 = 5
---
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10
---
3 x 1 = 3
e assim continua até
5 x 5 = 25
🛠 Como funciona?
1️⃣ O primeiro for( i) percorre os números de 1a 5.
2️⃣ Para cada valor dei , o segundo for( j) percorre os números de 1a 5.
3️⃣ O print(f"{i} x {j} = {i * j}")exibe a multiplicação do número ipelo número j.
4️⃣ Quando o segundo loop termina (ou seja, jjá percorreu todos os números de 1a 5), print("---")adicione um separador para organizar a saída.
5️⃣ O processo se repete para cada número do primeiro loop, formando pequenas tabuadas de 1 a 5.
Em resumo os loops aninhados ajudam a repetir ações dentro de outra tarefa, permitindo criar padrões estruturados, como tabelas, matrizes e codificação de valores de forma eficiente!
🔀 Jogo Numero Secreto
Exemplo prático: Jogo de adivinhação Vamos criar um mini jogo onde o usuário precisa adivinhar um número secreto!
Vamos entender, passo a passo, como funciona esse código do jogo de adivinhação em Python!
import random
numero_secreto = random.randint(1, 10) # Gera um número aleatório entre 1 e 10
chute = 0 # Inicializa a variável chute com um valor qualquer (diferente do número secreto)
while chute != numero_secreto: # Enquanto o chute for diferente do número secreto
chute = int(input("Tente adivinhar o número (entre 1 e 10): ")) # Solicita o chute do usuário
if chute < numero_secreto: # Se o chute for menor que o número secreto
print("Tente um número maior!") # Informa ao jogador que deve tentar um número maior
elif chute > numero_secreto: # Se o chute for maior que o número secreto
print("Tente um número menor!") # Informa ao jogador que deve tentar um número menor
else: # Caso o chute seja igual ao número secreto
print("Parabéns! Você acertou!") # Parabeniza o jogador por ter acertado
🛠 Como o código funciona?
- Importação do módulo random : A primeira linha, import random, importa a biblioteca random, que nos permite gerar números aleatórios.
- Gerando o número secreto : A linha numero_secreto = random.randint(1, 10)gera um número aleatório entre 1 e 10. Esse número será o "número secreto" que o jogador deverá adivinhar.
- Inicialização do chute : Uma variável chute é inicialmente definida como 0, para garantir que o loop while seja executado pelo menos uma vez. O usuário ainda não fez nenhum palpite, então o chute é diferente do número secreto.
- Estrutura de repetição while : O loop while chute != numero_secreto: faz o jogo continuar enquanto o jogador não acerta o número secreto. A condição chute != numero_secreto verifica se o palpite dado é diferente do número correto.
- Entrada do usuário e comparação : Dentro do loop, o programa pede ao jogador para adivinhar o número com a função input(). O valor retornado por input() é uma string, então é convertido para um inteiro com int().
- Fornecendo dicas : Depois de cada tentativa, o código verifica se o chute é menor que o número secreto, e o programa informa "Tente um número maior!". Se o chute é maior que o número secreto, o programa informa: "Tente um número menor!".
- Fim do jogo : Quando o jogador finalmente acerta o número secreto, elsea mensagem "Parabéns! Você acertou!" é exibido. O loop é encerrado e o jogo termina.
Em resumo esse código utiliza um loop while para continuar o jogo até que o jogador acerte o número secreto. A cada tentativa, o programa dá dicas para ajudar o jogador a chegar na resposta certa.
🔥 Concluindo...
Agora que você domina os loops "for", "while" e os loops aninhados, já pode automatizar muitas tarefas repetitivas! Também vimos como criar o jogo numero secreto utilizando a linguagem python e os conceitos aprendidos até então. No próximo artigo, vamos começar a aplicar nosso aprendizado e outros trechos de código para reforçar nosso aprendizado sobre os temas aprendidos até então, e introduzir a comprenção de assuntos novos! 🚀
👉 Me siga no GitHub e no LinkedIn para acompanhar o Projeto CodeVerse Python 2025! 📢 Não perca os próximos conteúdos, assine minha newsletter e venha comigo nessa jornada! 💡🔥