将 Try 和 Except 放入循环中

Putting a Try and Except inside a Loop

您好,我正在尝试弄清楚如何将 'Try and Except' 放入 while 循环中。我的兄弟向我提出挑战,要求我创建一个计算机程序来创建一个随机数 (1-100),然后让用户尝试猜测它是什么。我设法让它工作,但如果用户实际上没有输入数字,我会坚持下去,我应该怎么做才能让程序不仅停止工作,而且只是提示用户他们做错了什么。下面我附上了我的完整代码。该程序有效,但我不确定如何将 While 循环放入其中。我尝试过做 'While guess != integer' 之类的事情,并且一直在寻找不同的方法来做这件事。我见过的最好的是有人只是说将 try 和 except 放入 while 循环中,但它没有告诉我如何去做。 try-except inside a loop。如果可能的话,我还想知道是否可以在用户回答时随时调用此循环,所以如果他们不断输入错误,我不需要做任何其他事情。感谢您花时间阅读本文,抱歉我写了很多

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()' ")

guessMyNumber()

您的 except 块不应引发异常,下面是一个您可以如何执行 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