【问题标题】:Using "or" in an "if" statement in Try and Except in Python在 Python 的 Try 和 except 中的“if”语句中使用“or”
【发布时间】:2020-02-25 07:18:11
【问题描述】:

我想让循环继续并捕获错误,例如输入“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 语句,但这并不能解决问题。

【问题讨论】:

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


    【解决方案1】:

    错误不会是ValueError,所以你要么改成TypeError

    except TypeError:
    

    或任何错误:

    except:
    

    【讨论】:

      【解决方案2】:
      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 Exception:
                  print("error, try again")
                  continue
          hoursWorked = float(input("Enter Hours Worked: "))
          salesAmount = float(input("Enter Number of Sales: "))
      print("Clear")
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多