Помещение попытки и исключения внутри цикла

Привет, я пытаюсь понять, как поместить «Попробовать и исключить» внутри цикла while. Мой брат предложил мне создать компьютерную программу, создающую случайное число (1-100), а затем пользователь должен попытаться угадать, что это такое. Мне удалось заставить это работать, но я застрял, если пользователь на самом деле не ввел число, что я должен сделать, чтобы программа не просто перестала работать, а просто подсказала пользователю, что он сделал неправильно. Ниже я прикрепил свой полный код. Программа работает, но я не знаю, как вставить в нее цикл While. Я пробовал делать такие вещи, как «Пока угадайте! = Целое число», и я искал разные способы, как я мог бы это сделать. Лучшее, что я видел, это то, что кто-то просто сказал поместить try и кроме в цикл while, но он не сказал мне, как я могу это сделать. try-except внутри цикла . Если возможно, я также задавался вопросом, могу ли я в любом случае просто вызвать этот цикл в любой момент, когда пользователь ответит, поэтому, если они будут постоянно ошибаться, мне не нужно ничего делать. Спасибо, что нашли время, чтобы прочитать это, извините, что я написал много

import random
import time
def guessMyNumber():
print("Hello , welcome to Guess My Number")
time.sleep(1)
print ("The computer is thinking of a number between 1-100")
time.sleep(2)
print("Try to guess the number in as few attempts as possible")
number=random.randint(1,100)
try:
    guess=int(input("Take a guess "))
except ValueError:
    print("You must enter a whole number")
    guess=int(input("Please take another guess, making sure that it is a whole number. Thank you. "))
 tries = 1
while guess !=number:
    if guess>number:
        print("You need to go lower")
        guess=int(input("Take a guess "))
    else:
        print("Go higher!")
        guess=int(input("Take a guess "))
    tries=tries+1
if tries < 5:
    print("Well done! You guessed the number in", tries, "tries! If you would like to play again please type 'guessMyNumber()'")
else:
        print("You guessed the number in", tries, "tries. If you would like to play again type 'guessMyNumber()' ")

угадатьМоеЧисло()


person Alice Lin    schedule 23.10.2016    source источник


Ответы (1)


Ваш блок исключений не должен вызывать исключение, ниже приведен один пример того, как вы можете сделать int и изменить его в соответствии с требованиями вашей программы.

count = 0
while count < 5:
 try:
    guess=int(input("Take a guess "))
 except ValueError:
    print("You must enter a whole number")
    print("Please take another guess, making sure that it is a whole number. Thank you. ")
 count = count+1 
person saurabh baid    schedule 23.10.2016
comment
Ах, я вижу, так что вместо try-, за исключением только одной части, я должен сделать так, чтобы все входные данные пользователя проходили через этот процесс. Спасибо - person Alice Lin; 23.10.2016