Criando um Jogo da Adivinhação de Números em Python
Além de ser divertido, esse projeto é excelente para treinar:
Estruturas condicionais (
if
,elif
,else
);
Vamos passo a passo!
Passo 1 – Importando a biblioteca necessária
Para gerar números aleatórios em Python, usamos a biblioteca random
, que já vem instalada por padrão.
import random
Passo 2 – Gerando um número secreto
Agora, precisamos que o computador escolha um número “secreto” para o jogador adivinhar.
numero_secreto = random.randint(1, 100)
Aqui, randint(1, 100)
gera um número inteiro entre 1 e 100. Você pode mudar o intervalo para deixar o jogo mais fácil ou mais difícil.
Passo 3 – Criando o loop do jogo
Queremos que o jogador tente várias vezes até acertar. Para isso, usamos um loop while
.
tentativas = 0
acertou = False
print("=== Jogo da Adivinhação ===")
print("Tente adivinhar o número entre 1 e 100!")
while not acertou:
palpite = int(input("Digite seu palpite: "))
tentativas += 1
if palpite == numero_secreto:
print(f"🎉 Parabéns! Você acertou em {tentativas} tentativas.")
acertou = True
elif palpite < numero_secreto:
print("O número secreto é MAIOR. Tente novamente!")
else:
print("O número secreto é MENOR. Tente novamente!")
Passo 4 – Limitando tentativas
Para deixar o jogo mais desafiador, podemos limitar o número de tentativas (por exemplo, 7).
numero_secreto = random.randint(1, 100)
tentativas = 0
limite = 7
print("=== Jogo da Adivinhação ===")
print("Você tem 7 tentativas para acertar o número entre 1 e 100.")
while tentativas < limite:
palpite = int(input("Digite seu palpite: "))
tentativas += 1
if palpite == numero_secreto:
print(f"🎉 Acertou! O número era {numero_secreto}. Você usou {tentativas} tentativas.")
break
elif palpite < numero_secreto:
print("🔼 O número secreto é MAIOR.")
else:
print("🔽 O número secreto é MENOR.")
if palpite != numero_secreto:
print(f"❌ Suas tentativas acabaram! O número era {numero_secreto}.")
Passo 5 – Melhorando a experiência
Podemos adicionar recursos extras:
✔ Perguntar se o jogador quer jogar novamente.
✔ Mudar a dificuldade (fácil, médio, difícil).
✔ Mostrar dicas mais criativas.
Exemplo com dificuldade:
import random
print("=== Jogo da Adivinhação ===")
print("Escolha a dificuldade:")
print("1 - Fácil (1 a 10)")
print("2 - Médio (1 a 50)")
print("3 - Difícil (1 a 100)")
dificuldade = int(input("Digite sua escolha: "))
if dificuldade == 1:
limite_superior = 10
elif dificuldade == 2:
limite_superior = 50
else:
limite_superior = 100
numero_secreto = random.randint(1, limite_superior)
tentativas = 0
print(f"\nTente adivinhar o número entre 1 e {limite_superior}!")
while True:
palpite = int(input("Seu palpite: "))
tentativas += 1
if palpite == numero_secreto:
print(f"🎉 Parabéns! Você acertou em {tentativas} tentativas.")
break
elif palpite < numero_secreto:
print("🔼 O número secreto é MAIOR.")
else:
print("🔽 O número secreto é MENOR.")
Código Final (com menu de dificuldade e rejogar)
Aqui está uma versão mais completa:
import random
def jogar():
print("=== Jogo da Adivinhação ===")
print("Escolha a dificuldade:")
print("1 - Fácil (1 a 10)")
print("2 - Médio (1 a 50)")
print("3 - Difícil (1 a 100)")
dificuldade = int(input("Digite sua escolha: "))
if dificuldade == 1:
limite_superior = 10
elif dificuldade == 2:
limite_superior = 50
else:
limite_superior = 100
numero_secreto = random.randint(1, limite_superior)
tentativas = 0
print(f"\nTente adivinhar o número entre 1 e {limite_superior}!")
while True:
try:
palpite = int(input("Seu palpite: "))
except ValueError:
print("⚠ Digite apenas números!")
continue
tentativas += 1
if palpite == numero_secreto:
print(f"🎉 Acertou! O número era {numero_secreto}. Você usou {tentativas} tentativas.")
break
elif palpite < numero_secreto:
print("🔼 O número secreto é MAIOR.")
else:
print("🔽 O número secreto é MENOR.")
while True:
jogar()
again = input("Deseja jogar novamente? (s/n): ").lower()
if again != "s":
print("👋 Obrigado por jogar! Até a próxima.")
break
Exercícios para praticar
Adicione um contador de pontuação: menos tentativas = mais pontos.
Permita que o jogador defina o número máximo de tentativas.
Crie um ranking salvando as melhores pontuações em um arquivo TXT.
Monte uma versão com interface gráfica (Tkinter).
Conclusão
O jogo da adivinhação em Python é um excelente exercício para aprender:
✔ Lógica de programação.
✔ Estruturas de repetição e decisão.
✔ Entrada de dados do usuário.
✔ Geração de números aleatórios.
E o melhor: é divertido e pode ser melhorado de várias formas.
Agora é sua vez: copie o código, execute e tente evoluir a lógica com suas próprias ideias!
Comentários
Postar um comentário