Хотел написать программу, где одна функция загадывает число, а другая угадывает это число с помощью бин. поиска. На деле совсем запутался с вызовами переменных, можете, пожалуйста помочь.
Код:
Код:
Python:
import random
class bags:
low = 0
guess = 0
hidden_num = 0
ls = []
def game(self):
print('Игра запущена')
print('Число будет загадано в промежутке от 1 до x (включая эти числа)')
period = int(input())
hidden_num = random.randint(1, period)
ls = list(range(1, period))
print('Игра началась')
self.binar_s()
def binar_s(self):
high = len(bags.ls)
mid = (bags.low + high) // 2
count = 0
guess = bags.ls[mid]
while low <= high:
count += 1
if guess == bags.hidden_num:
print(f'Понадобилось {count} действий для поиска')
return mid + 1
elif guess < bags.hidden_num:
high = mid - 1
elif guess > bags.hidden_num:
low = mid + 1
else:
return None
bag = bags()
bag.game()