Напишите программу, которая отгадывает загаданное целое число от 1 до 1000 (пользователь или тестирующая система загадывает число в уме и не сообщает программе). Угадать число нужно не более чем за 10 попыток. На каждую попытку пользователь отвечает, что загаданное число больше названного (вводит символ “>”),меньше названного (“<”) или угадано правильно (“=”).
Используйте бинарный поиск. Ваша программа должна каждый раз называть число, находящееся посередине исследуемого диапазона — в результате станет ясно, в какой половине диапазона находится искомое число.
Например, для диапазона от 1 до 8 (а не до 1000) это могло бы выглядеть так (загадано число 5):
4 (программа пробует угадать, называя число из середины интервала от 1 до 8)
> (пользователь отвечает, что загаданное число больше введенного; теперь программа ищет в интервале от 5 до 8)
6
<
5
=
напиши код на python
Информатика10 классАлгоритмы и структуры данныхотгадывание числабинарный поиск
Давайте разберем, как можно написать программу, которая будет угадывать загаданное число от 1 до 1000, используя метод бинарного поиска. Бинарный поиск — это алгоритм, который позволяет сократить диапазон поиска вдвое с каждой попыткой, что делает его очень эффективным для задачи угадывания числа.
Программа будет работать следующим образом:
middle = (min + max) // 2
.min = middle + 1
.max = middle - 1
.Теперь давайте посмотрим, как это будет выглядеть в коде на Python:
```python def guess_number(): min = 1 max = 1000 attempts = 0 while attempts < 10: middle = (min + max) print(f"Я думаю, что это {middle}. Это больше (>),меньше (<) или равно (=) загаданному числу?") response = input().strip() if response =="=": print("Ура! Я угадал число!") return elif response ==">": min = middle + 1 elif response =="<": max = middle - 1 else: print("Пожалуйста, введите корректный ответ: '>', '<', или '='.") attempts += 1 print("К сожалению, я не смог угадать число за 10 попыток.") guess_number() ```Этот код запрашивает у пользователя ввод и использует его для корректировки диапазона поиска. Таким образом, программа может эффективно угадать число за 10 попыток или меньше.