Criando um Jogo da Adivinhação de Números em Python

Se você está começando a programar em Python, nada melhor do que praticar com jogos simples que trabalham lógica, variáveis, loops e condições. Um dos mais clássicos é o Jogo da Adivinhação de Números, onde o computador escolhe um número aleatório e o jogador precisa adivinhar.

Além de ser divertido, esse projeto é excelente para treinar:

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

  1. Adicione um contador de pontuação: menos tentativas = mais pontos.

  2. Permita que o jogador defina o número máximo de tentativas.

  3. Crie um ranking salvando as melhores pontuações em um arquivo TXT.

  4. Monte uma versão com interface gráfica (Tkinter).


Conclusã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

Postagens mais visitadas deste blog

Laços de Repetição em Python: Conceitos e Exemplos Práticos

Manipulação de Arquivos no C#: Como Ler, Escrever e Trabalhar com Arquivos de Forma Simples

Como Instalar o Xamarin com C#: Passo a Passo Completo