🔮 Как угадать число от 1 до 100 за 7 попыток с помощью Python?
Для угадывания числа от 1 до 100 за 7 попыток в Python вы можете использовать метод бинарного поиска.
def угадай_число():
нижняя_граница = 1
верхняя_граница = 100
попытки = 7
while попытки > 0:
предполагаемое_число = (нижняя_граница + верхняя_граница) // 2
ответ = input(f"Это число {предполагаемое_число}? (да/нет): ")
if ответ.lower() == "да":
print("Ура! Я угадал число!")
return
elif ответ.lower() == "нет":
выше_или_ниже = input("Моё число выше или ниже? (вверх/вниз): ")
if выше_или_ниже.lower() == "вверх":
верхняя_граница = предполагаемое_число - 1
elif выше_или_ниже.lower() == "вниз":
нижняя_граница = предполагаемое_число + 1
попытки -= 1
print("Я не смог угадать число. Попробуйте ещё раз!")
Вызовите функцию `угадай_число()`, чтобы начать игру. Мы будем делать предположения, задавать вопросы и на основе полученных ответов сужать диапазон возможных чисел. В итоге программа должна угадать загаданное число или сделать наиболее близкое предположение.
Детальный ответ
Как угадать число от 1 до 100 за 7 попыток с помощью Python?
Угадывание числа от 1 до 100 может быть интересной задачей, особенно если у вас есть ограничение на количество попыток. В этой статье мы рассмотрим, как написать программу на языке Python, которая позволит угадать число за 7 попыток.
Алгоритм угадывания числа
Основной идеей нашего алгоритма будет использование метода деления пополам. Мы будем каждый раз делить интервал возможных чисел пополам и спрашивать пользователя, находится ли искомое число в первой или второй половине интервала.
Ниже приведен код для реализации данного алгоритма:
def guess_number():
low = 1
high = 100
attempts = 7
while attempts > 0:
mid = (low + high) // 2
print("Ваше число равно или больше", mid, "?")
answer = input("Введите 'да' или 'нет': ")
if answer.lower() == "да":
low = mid + 1
else:
high = mid - 1
attempts -= 1
print("Поздравляю! Я угадал число!")
guess_number()
Давайте разберем код:
- Мы начинаем с интервала от 1 до 100 и задаем количество попыток (7 в нашем случае).
- В цикле while мы делим интервал пополам и спрашиваем пользователя, находится ли искомое число в первой или второй половине интервала.
- На основе ответа пользователя мы присваиваем новые значения переменным low и high, чтобы уменьшить интервал возможных чисел.
- Цикл повторяется до тех пор, пока у нас не закончатся попытки.
- По результатам алгоритма программа выводит сообщение о том, что число угадано.
Запуск программы
Чтобы запустить программу, сохраните код в файл с расширением .py (например, guess_number.py) и выполните следующую команду в командной строке:
python guess_number.py
Программа будет задавать вопросы, и вы сможете вводить ответы в виде "да" или "нет". После 7 попыток программа сообщит вам, что число угадано.
Вывод
Мы рассмотрели, как угадать число от 1 до 100 за 7 попыток с помощью Python. Алгоритм использовал метод деления пополам для сужения интервала возможных чисел. Этот пример показывает, как можно использовать программирование для решения задачи угадывания чисел. Попробуйте запустить программу и проверить свои навыки угадывания чисел!