
С помощью Python напишите программу, с помощью которой компьютер будет угадывать загаданное число
пользователем

Ответы на вопрос

Программа начинает с генерации случайного числа в диапазоне от 1 до 100. Затем она предлагает пользователю загадать число и просит вводить ответы "угадал", "больше" или "меньше". В зависимости от ответа пользователя, программа изменяет диапазон возможных значений и снова генерирует новое предполагаемое число. Если компьютер угадывает число, программа завершается и показывает количество попыток.
import random
def computer_guess_number():
low = 1
high = 100
guess = random.randint(low, high)
attempts = 0
print("Загадайте число от 1 до 100, а я попробую угадать.")
print("Если я угадал, введите 'угадал'.")
print("Если ваше число больше, введите 'больше'.")
print("Если ваше число меньше, введите 'меньше'.")
while True:
print("Я думаю, что это число:", guess)
answer = input("Введите ваш ответ: ")
attempts += 1
if answer == "угадал":
print("Ура! Я угадал число", guess, "за", attempts, "попыток.")
break
elif answer == "больше":
low = guess + 1
elif answer == "меньше":
high = guess - 1
else:
print("Неизвестный ответ. Пожалуйста, выберите 'угадал', 'больше' или 'меньше'.")
guess = random.randint(low, high)
computer_guess_number()



Для создания программы, с помощью которой компьютер будет угадывать загаданное число пользователем, можно использовать алгоритм бинарного поиска. Этот алгоритм позволяет компьютеру быстро приближаться к загаданному числу, задавая пользователю вопросы о том, больше или меньше загаданное число, чем предложенное компьютером. Вот пример программы на Python:
pythonimport random
def угадать_число():
нижняя_граница = 1
верхняя_граница = 100
попытки = 0
загаданное_число = random.randint(нижняя_граница, верхняя_граница)
print("Загадайте число от", нижняя_граница, "до", верхняя_граница)
while True:
попытки += 1
предположение = (нижняя_граница + верхняя_граница) // 2
print("Компьютер предполагает:", предположение)
ответ = input("Это число больше (>), меньше (<) или равно (=) загаданному числу? ")
if ответ == ">":
нижняя_граница = предположение + 1
elif ответ == "<":
верхняя_граница = предположение - 1
elif ответ == "=":
print("Компьютер угадал ваше число", загаданное_число, "за", попытки, "попыток!")
break
else:
print("Пожалуйста, введите >, < или =.")
угадать_число()
Эта программа задает вопросы пользователю и на основе ответов приближается к угадыванию числа. После угадывания числа она выводит количество попыток, потребовавшихся для угадывания.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili