我写了一个程序,生成一个随机数供用户猜测。我正在努力尝试捕捉所有可能的错误。唯一我无法想象的是这个。在开始时,我要求用户按回车继续游戏。如果程序输入一个字符串甚至是特殊字符和标点符号,该程序就会捕获。我似乎无法预防的唯一事情是,如果他们键入一个数字,程序就会终止。这是我的。问题出在try块的第一个while循环中。任何建议或帮助,将不胜感激。 在此先感谢。Python catch int或str
from random import randint #imports randint from random class
cont = input('Press enter to continue')
while True:
if cont != '':
try:
int(cont)
str(cont)
break
except ValueError:
print('Just hit enter')
cont = input()
continue
elif cont == '':
while True:
randNum = randint(1, 100)
print('Try guesssing a number between 1 and 100')
num = input()
while True:
try:
int(num)
break
except ValueError:
print('Please enter a number')
num = input()
int(num)
if num == randNum:
print('Good job, ' + str(num) + ' is correct.')
else:
print('Sorry, the number was ' + str(randNum) + '.')
print('Would you like to try again?')
answer = input().lower()
if answer == 'yes':
continue
elif answer == 'no':
print('Thanks for playing')
exit()
else:
while True:
print('Please type yes or no')
answer = input()
if answer == 'yes':
break
elif answer == 'no':
print('Thanks for playing.')
exit()
我正试图以不同的方式来捕捉错误,但这是有效的。谢谢。 – kfreeman04208
@ kfreeman04208没问题:) –
有没有可能解释为什么我的方法能够捕捉除数字之外的所有内容? – kfreeman04208