Pythonでの数当てゲームの作成方法


方法1: ランダムな数での推測 この方法では、プログラムがランダムに生成した数を当てるゲームです。プレイヤーは予測を行い、プログラムが生成した数と比較します。

import random
def guess_number_random():
    target_number = random.randint(1, 1000)
    attempts = 0

    while True:
        guess = int(input("1から1000までの数を予想してください: "))
        attempts += 1

        if guess < target_number:
            print("もっと大きい数を予想してください。")
        elif guess > target_number:
            print("もっと小さい数を予想してください。")
        else:
            print("正解です!")
            break

    print(f"正解までに{attempts}回の予想が必要でした。")
guess_number_random()

方法2: 二分探索法による推測 この方法では、プログラムが生成した数を二分探索法を用いて当てるゲームです。プレイヤーは予測を行い、プログラムが生成した数と比較します。

def guess_number_binary_search():
    lower_bound = 1
    upper_bound = 1000
    target_number = random.randint(lower_bound, upper_bound)
    attempts = 0

    while True:
        guess = (lower_bound + upper_bound) // 2
        attempts += 1

        if guess < target_number:
            print("もっと大きい数を予想してください。")
            lower_bound = guess + 1
        elif guess > target_number:
            print("もっと小さい数を予想してください。")
            upper_bound = guess - 1
        else:
            print("正解です!")
            break

    print(f"正解までに{attempts}回の予想が必要でした。")
guess_number_binary_search()