Я хочу написать python игру, которая знает число (1-100), полученное от пользователя, максимум за 7 шагов. 2 ^ 7> 100. Код ниже работает, но он занимает более 7 шагов. Я думаю, что проблема в догадке = угадать + -гадать // (2 ^ n) части. Но я не знаю, чем заменить.
number=int(input("Enter a number between 1 and 100: "))
guess=50
n=1
if number>100:
number=int(input("Enter a number less than 100: "))
if number<1:
number=int(input("Enter a number greater than 1: "))
while True:
print("Your number is" +' '+ str(guess) +' '+ "?")
ans=str(input("(g)reater,(l)ess or (b)ravo: "))
for n in range(1,10,1):
if ans=="g":
guess=guess+guess//(2^n)
elif ans=="l":
guess=guess-guess//(2^n)
elif ans=="b":
print("Your number is " +' '+ str(guess) +' '+ "Well done for me")
break