import numpy as np


def game_core(number):
    left = 1
    right = 100
    count = 1
    predict = np.random.randint(1, 101)

    while predict != number:
        '''Берём число number сравниваем со значением predict.
        Далее складываем переменные left и Right выполняем целочиленное деление на 2.
        Полученный результат сравниваем со случайно загаданным числом'''
        count += 1
        if number > predict:
            left = predict + 1
        else:
            right = predict - 1
        predict = (left + right) // 2
    return count


def score_game(game_core):
    '''Запускаем игру 1000 раз, чтобы узнать, как быстро игра угадывает число'''
    count_ls = []
    np.random.seed(1)  # фиксируем RANDOM SEED, чтобы ваш эксперимент был воспроизводим!
    random_array = np.random.randint(1, 101, size=(1000))
    for number in random_array:
        count_ls.append(game_core(number))
    score = int(np.mean(count_ls))
    print(f"Ваш алгоритм угадывает число в среднем за {score} попыток")
    return (score)


score_game(game_core)