我不确定如何标题我的问题,但我的问题是这个;我将我的程序设置为猜测一个数字并处理异常。程序循环直到数字被猜到,但是当程序退出时,我的异常消息同时显示。我该如何解决这个问题?
num = None
while num != 31:
try:
num = int(input("What is the age of my creator? \n"))
if num < 31:
print("Higher! Guess again! \n")
elif num > 31:
print("Lower! Guess again! \n")
elif num == 31:
print("Good Guess!")
exit()
except:
print("Numbers only! \n")
这是我的输出:
我的创作者的年龄是多少? 31 不错的猜测! 只有数字!
处理完成,退出代码为0
答案 0 :(得分:1)
如果您想保留异常消息,我建议您使用break
代替exit
,以便更自然地退出程序。试试这个:
try:
...
elif num == 31:
print("Good Guess!")
break
except ValueError:
print("Numbers only! \n")
此外,您应该捕获一个特定的错误,而不是一个全能的except
。
如果您要隐藏任何错误消息,请改用pass
。来自文档:
pass
语句不执行任何操作。它可以在语句中使用 语法要求,但程序不需要采取任何行动。
try:
...
except ValueError:
pass
pass
是一个无害的占位符声明,什么都不做。