Компьютерное угадывание числа python

#python #random

#питон #Случайный

Вопрос:

Я очень новичок в программировании и начинаю с python. Мне было поручено создать игру в угадывание случайных чисел. Идея состоит в том, чтобы компьютер угадал введенный пользователем номер. Хотя у меня возникли некоторые проблемы с тем, чтобы программа распознала, что она нашла номер. Вот мой код, и если вы можете помочь, это было бы здорово! Программа прямо сейчас печатает только случайные числа и не остановится, даже если будет напечатано правильное число, в этом проблема

 import random
tries = 1
guessNum = random.randint(1, 100)
realNum = int(input("Input a number from 1 to 100 for the computer to guess: "))
print("Is the number "   str(guessNum)   "?")
answer = input("Type yes, or no: ")
answerLower = answer.lower()

if answerLower == 'yes':
        if guessNum == realNum:
            print("Seems like I got it in "   str(tries)   " try!")
        else:
            print("Wait I got it wrong though, I guessed "   str(guessNum)   " and your number was "   str(realNum)   ", so that means I'm acutally wrong." )
else:
    print("Is the number higher or lower than "   str(guessNum))
    lowOr = input("Type in lower or higher: ")
    lowOrlower = lowOr.lower()
    import random 
    guessNum2 = random.randint(guessNum, 100)
    import random 
    guessNum3 = random.randint(1, guessNum)
    while realNum != guessNum2 or guessNum3:
        if lowOr == 'higher':
            tries  = 1
            import random 
            guessNum2 = random.randint(guessNum, 100)
            print(str(guessNum2))
            input()
        else:
            tries  = 1
            import random 
            guessNum3 = random.randint(1, guessNum)
            print(str(guessNum3))
            input()
    print("I got it!")
      
           
       
       








input()
 

Комментарии:

1. Прочитайте о двоичном поиске и используйте это для решения этой проблемы!

Ответ №1:

Как насчет чего-то вроде:

 import random
realnum = int(input('PICK PROMPTn'))
narrowguess = random.randint(1,100)
if narrowguess == realnum:
  print('CORRECT')
  exit(1)
print(narrowguess)
highorlow = input('Higher or Lower Promptn')
if highorlow == 'higher':
  while True:
    try:
        guess = random.randint(narrowguess,100)
        print(guess)
        while realnum != guess:
          guess = random.randint(narrowguess,100)
          print(guess)
          input()
        print(guess)
        print('Got It!')
        break
    except:
      raise
elif highorlow == 'lower':
  while True:
    try:
        guess = random.randint(1,narrowguess)
        print(guess)
        while realnum != guess:
          guess = random.randint(1,narrowguess)
          print(guess)
          input()
        print(guess)
        print('Got It!')
        break
    except:
      raise
 

Этот код — всего лишь скелет, добавьте в него все свои данные, как вам нравится.