在Python的Try and Except中的“ if”语句中使用“或”

时间:2019-10-30 02:06:06

标签: python python-3.x if-statement while-loop try-catch

我想使循环继续进行并捕获诸如输入“ bob”作为输入或小于1且大于4的整数之类的错误。

salesNum = input("How many sales persons to process? ")
for num in salesNum:
    salesName = input("Enter Salesperson Name: ")
    salesLevel = 0
    while salesLevel == 0:
        try:
            salesLevel = int(input("Enter Salesperson Level: "))
            if salesLevel < 1 or salesLevel > 4:
                print("error, try again.")
                salesLevel = int(input("Enter Salesperson Level: "))
        except ValueError:
            print("error, try again")
            continue
    hoursWorked = float(input("Enter Hours Worked: "))
    salesAmount = float(input("Enter Number of Sales: "))
print("Clear")

如果我犯了一个错误,那就很好用,但是不会发现多个错误,程序会继续处理下一个问题。 我试图将if语句拆开,但这并不能解决问题。

2 个答案:

答案 0 :(得分:2)

错误不会是ValueError,因此您可以将其更改为TypeError

except TypeError:

或出现任何错误:

except:

答案 1 :(得分:1)

handleDelete(event) {
    axios.post('http://localhost:8080/removeActor', {
       'name': event.target.value
    })
    .then((response) => {
         this.componentDidMount();
    })


    event.preventDefault();
}

尝试将ValueError更改为Exception,这将捕获所有异常