#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
Этот код — всего лишь скелет, добавьте в него все свои данные, как вам нравится.