有没有办法将条件置于异常中?例如:
while True:
try:
p1guess = int(input("enter guess here: "))
break
except ValueError:
if p1guess == "reveal":
print(hidden)
我在此代码中的目标是输入一个4位数字。但是,如果我输入“揭示”,我希望程序打印隐藏(包含4个数字的列表) - 很遗憾我无法找到解决方案
所以我问是否有一种有效的方法可以做到这一点?
答案 0 :(得分:2)
编写它的方式,如果引发异常,则会在分配到p1guess
之前引发异常,因此您不能使用except子句中的值。
您可以做的是首先将输入分配给变量,然后以任一方式使用它:
while True:
user_input = input("enter guess here: ")
try:
p1guess = int(user_input)
break
except ValueError:
if user_input == "reveal":
print(hidden)
但是,这可以说是更加pythonic:
while True:
user_input = input("enter guess here: ")
try:
p1guess = int(user_input)
except ValueError:
if user_input == "reveal":
print(hidden)
else:
break