Exception 对空输入使用try-catch语句

Exception 对空输入使用try-catch语句,exception,python-3.x,integer,try-catch,Exception,Python 3.x,Integer,Try Catch,我试图使用try-catch语句将空输入与其他输入区分开来。目前,我有这个 while True: try: user = int(input("Please enter an integer")) break except ValueError: print("Must be an integer") 问题来自这样一个事实:如果用户不输入任何内容,只按enter键,我希望有一个单独的错误语句。但是,它仍然将该特定输入读取为Val

我试图使用try-catch语句将空输入与其他输入区分开来。目前,我有这个

while True:
    try:
        user = int(input("Please enter an integer"))
        break
    except ValueError:
        print("Must be an integer")
问题来自这样一个事实:如果用户不输入任何内容,只按enter键,我希望有一个单独的错误语句。但是,它仍然将该特定输入读取为ValueError,并向我提供上面的消息,而不管我尝试其他什么

您可以测试


您可以在传递给int之前检查输入。如果您想要一个单行程序,您也可以这样做:int(输入(“请输入整数”)+1/0)。如果字符串为空,则会引发零错误。对不起。我对这个有点陌生。在将输入传递给int之前,如何检查输入?value=input(“请输入一个整数”);if value:user=int(value)谢谢。看起来是这样的。如果你不介意的话,我有一个相关的问题。如果您希望用户输入一个字符串(如字母),并且如果用户输入一个整数,程序将返回一个错误,该怎么办?看看这个问题:我更新了我的答案。如果这回答了您的问题,请将我的回答标记为已接受。
while True:
    try:
        s = input("Please enter an integer")
        if not s:
             print ("Input must not be empty")
        elif not s.isdigit():
             print ("Input must be a digit")
        else:
            user = int(s)
            break
    except ValueError:
        print("Must be an integer")