Escrever um programa para adivinhar um número de 0 a 99 pensado pelo usuário. A cada palpite do programa o usuário deverá informar se o número sugerido é menor, maior ou igual ao número pensado. O programa deverá mostrar quantas tentativas foram necessárias até o acerto.

Passo 1

A ideia é criar um programa que adivinhe um número entre 0 e 99 usando busca binária e conte quantas tentativas foram necessárias.
Inicializamos os limites do intervalo ( low = 0, high = 99) e um contador de tentativas ( tries = 0).

Passo 2

Fazemos um loop onde calculamos o palpite do programa como a média inteira de low e high, incrementamos o contador de tentativas e perguntamos ao usuário se o palpite é “maior”, “menor” ou “igual” ao número pensado.

Passo 3

Dependendo da resposta:
– Se o usuário disser “menor” (ou seja, o número pensado é menor que o palpite), ajustamos high = palpite - 1.
– Se disser “maior” (número pensado é maior que o palpite), ajustamos low = palpite + 1.
– Se disser “igual”, encerramos o loop.

Passo 4

Ao sair do loop, mostramos ao usuário quantas tentativas foram necessárias.

Resposta

# Programa para adivinhar um número de 0 a 99 usando busca binária
low = 0
high = 99
tries = 0

print("Pense em um número entre 0 e 99. Eu vou tentar adivinhar!")
while True:
    guess = (low + high) // 2
    tries += 1
    # Pergunta ao usuário
    resposta = input(f"Meu palpite é {guess}. O número pensado é 'maior', 'menor' ou 'igual'? ").strip().lower()

    if resposta == 'menor':
        # número pensado < palpite
        high = guess - 1
    elif resposta == 'maior':
        # número pensado > palpite
        low = guess + 1
    elif resposta == 'igual':
        print(f"Acertou! Foram necessárias {tries} tentativas.")
        break
    else:
        print("Resposta inválida. Digite 'maior', 'menor' ou 'igual'.")

Exercícios relacionados