У меня есть задача сделать игру против компьютера. Я должен «думать о числе», и компьютер должен угадать. Если он правильно догадался, я должен сказать C и выйти из цикла. В случае меньшего числа, я должен сказать L, и компьютер должен попытаться создать меньшее число. H - выше, и это противоположная ситуация. До сих пор мне удалось успешно реализовать все за одним исключением. С приведенным ниже кодом, если я скажу компьютеру L, например, он не будет превышать предел последнего числа, однако, если я тогда скажу H, он будет случайным образом генерировать числа снова. Пожалуйста, имейте в виду, что это задача для курса для начинающих (функции еще не покрыты). Мы должны использовать циклы. Для функций getInteger и getLetter не обращайте внимания, они являются функциями, которые наш профессор создал и похожими на input(), но просто ограничивают пользователя вводить что-то отличное от буквы или целого.Python 3/eli5 - Случайные числа игра против компьютера
Вот код:
from pcinput import getLetter, getInteger
from random import random, randint, seed
mynum = getInteger("My number is:")
comnum = randint(0, 1000)
print("Is your number:", comnum, "?")
while True:
answer = getLetter("That is: ")
if answer == "C":
print("Congratulations!")
break
if answer == "L":
comnum = randint(0,comnum)
print("Is your number:", comnum, "?")
possibility = range(comnum,)
continue
elif answer == "H":
comnum = randint(comnum, 1000)
print("Is your number:", comnum, "?")
continue
* comnum это буква компьютер должен входить
Мой вопрос заключается в основном как исправить этот код так, что компьютер будет создавать какую-то диапазоне между первым и последним догадками и не превышать или опускаться ниже этого, тем самым каждый раз сокращая интервал между догадками. (Надеюсь, вы поняли мое мнение).
Большое вам спасибо!