Самая оптимальная стратегия угадывания - дихотомия, то есть деление отрезка пополам и задавание вопроса больше? (или меньше?)
Например, загадано 50
Последовательность
32 64/2 больше
48 (32+64)/2 больше
56 (48+64)/2 меньше
52 (48+56)/2 меньше
50 (48+52)/2 попал
Теперь о задаче. Вопрос очень некорректный, если бы он звучал, как сколько попыток нужно сделать, чтобы угадать? , то решение простое
64 = 2^6, поэтому нужно 6 попыток 6 = 110b, значит 3 бит достаточно, чтобы в них разместить это количество попыток.
НО в задаче вопрос-то другой! Потому что в процессе отгадывания на каждом шаге нужно знать 1. Концы отрезка, 2. ответ
Концы это 6 бит и 6 бит +ответ 1 бит, итого 13 бит на шаг *6 = 78 бит. Можно ещё сократить немного, так как в последующем вопросе используется информация из предыдущего(один из концов интервала).
Уточни, что имеется в виду под фразой "какое количество информации", иначе задача неопределена и допускает многочисленные толкования.
1)a=int(input("Введите первое число"))
b=int(input("Введите второе число"))
c=int(input("Введите третье число"))
if((b>a)and(c>a)and(a/2 in range(1,100000000,1))):
print(f"Среди трёх введеных чисел минимальным чётным является{a}")
elif((a>b)and(c>b)and(b/2 in range(1,100000000,1))):
print(f"Среди трёх введеных чисел минимальным чётным является{b}")
elif((b>c)and(a>c)and(c/2 in range(1,100000000,1))):
print(f"Среди трёх введеных чисел минимальным чётным является{c}")
2)a=int(input("Введите длину отверстия"))
b=int(input("Введите ширину отверстия"))
c=int(input("Введите высоту отверстия"))
d=int(input("Введите длину кирпича"))
e=int(input("Введите ширину кирпича"))
f=int(input("Введите высоту кирпича"))
if((a>=d)and(b>=e)and(c>=f)):
print("Кирпич влезет")
else:
print("Кирпич не влезет")
3)a=str(input())
i=0
e=0
b=["1","2","3","4","5","6","7","8","9","0"]
while(1==1):
if(a[i:i+1] in b):
e=e+1
else:
break
i=i+1
print(e)