除了以外的条件?

时间:2014-08-09 06:37:32

标签: python python-3.x

有没有办法将条件置于异常中?例如:

while True:
    try:
        p1guess = int(input("enter guess here: "))
        break
    except ValueError:
        if p1guess == "reveal":
            print(hidden)

我在此代码中的目标是输入一个4位数字。但是,如果我输入“揭示”,我希望程序打印隐藏(包含4个数字的列表) - 很遗憾我无法找到解决方案

所以我问是否有一种有效的方法可以做到这一点?

1 个答案:

答案 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