使用try catch语句进行空输入

时间:2014-10-26 16:49:05

标签: 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")

问题来自于如果用户没有输入任何东西而只按下回车键,我想要一个单独的错误陈述。但是,它仍然将该特定输入读作ValueError,并且无论我尝试什么,它都会给我上面的消息。

1 个答案:

答案 0 :(得分:1)

您可以测试string is not empty

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")