首页 > 解决方案 > 如何检查一个意味着整数的输入是否为空(在python中)?

问题描述

def aboveIntegerInput(output_message="Enter your number: ", error_1="Please enter a number above {}!", error_2="Integers only!(Please do not leave this blank)", above=0):
  while True:
    try:
      user_input = int(input(output_message))
      if user_input >= above:
        return int(user_input)
        break
      else:
        print(error_1.format(above))
    except ValueError:
      print(error_2)

正如您在此处看到的,代码应该检查输入是否为整数,并且它是否高于某个值,默认情况下为 0,但可以更改。

当用户输入随机字母和符号时,它会看到值错误并返回“仅限整数!(请不要留空)”。

我希望能够检查用户是否没有输入任何内容,在这种情况下,只有它应该输出“这是空白/空”,目前处理这个问题的方法是根本不检查,只说“仅整数!(请不要将此留空)”,以防出现值错误。我希望能够更具体,而不是一次吐出所有的原因。谁能帮帮我吗?

提前致谢。

标签: pythonvalidationinput

解决方案


您可以将输入和转换为 int 分为两个步骤,如下所示:

def aboveIntegerInput(output_message="Enter your number: ", error_1="Please enter a number above {}!", error_2="Integers only!(Please do not leave this blank)", above=0):
  while True:
    try:
      user_input = input(output_message)
      if not user_input:
         print("Please do not leave this blank")
         continue
      user_input = int(user_input)
      if user_input >= above:
        return int(user_input)
        break
      else:
        print(error_1.format(above))
    except ValueError:
      print(error_2)

推荐阅读