【问题标题】:Python Exception handling 3 input floatsPython 异常处理 3 个输入浮点数
【发布时间】:2021-10-20 20:25:45
【问题描述】:

我正在学习 Python 中的异常处理。我在下面写了这个简单的代码。如果我为第一个数字输入无效值,它将打印出“您的输入错误!”并且不允许我输入 num2 或 num3 的值
我想更改代码,因此如果我为第一个数字输入无效值,它仍会要求我输入 num2 和 num3 的值,然后如果任何值无效,它将打印“您的输入之一错误"
谁能帮帮我,不胜感激,谢谢。

  def main():
    try:
        num1 = int(input("Enter in Number 1: ")) # ask the user for num1
        
        num2 = int(input("Enter in Number 2: ")) # ask the user for num2

        num3 = int(input("Enter in Number 3: ")) # ask the user for num3

    except ValueError:
     # only run this code if any of the three numbers are invalid 

        print("One of your inputs are wrong!") 
    else:
        print("The answer is ", num1 + num2 + num3)  
main()

【问题讨论】:

    标签: python exception


    【解决方案1】:

    try-except 块类似于 if-else 块,因此您可以嵌套它们。

    你可以试试这个:

    def main():
        try:
            num1 = int(input("Enter in Number 1: ")) # ask the user for num1     
        except ValueError:
            print("Enter num2 and num3") 
            try:
                num2 = int(input("Enter in Number 2: ")) # ask the user for num2
                num3 = int(input("Enter in Number 3: ")) # ask the user for num3
            except ValueError:
                print("One of your inputs are wrong!")
            else:
                print("The answer is ", num1 + num2 + num3) 
        finally:
            print("this block ends here!")
         
    main()
    

    【讨论】:

      猜你喜欢
      • 2011-01-14
      • 2021-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多